diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-06-27 11:30:57 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-06-27 11:30:57 -0400 |
commit | da2e8127510525eb4bce0fe34aff06192e042c8f (patch) | |
tree | 497aa4db04781e0bed3dcf8c35d2797cb0ee5198 | |
parent | d620876990f02788d5a663075df007ffb91bdfad (diff) | |
download | linux-stable-da2e8127510525eb4bce0fe34aff06192e042c8f.tar.gz linux-stable-da2e8127510525eb4bce0fe34aff06192e042c8f.tar.bz2 linux-stable-da2e8127510525eb4bce0fe34aff06192e042c8f.zip |
NFSv4.2: Fix up a decoding error in layoutstats
According to the spec, the server is only returning the status,
which we decode in the op header.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
-rw-r--r-- | fs/nfs/nfs42xdr.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/fs/nfs/nfs42xdr.c b/fs/nfs/nfs42xdr.c index 9aae0205ef11..a6bd27da6286 100644 --- a/fs/nfs/nfs42xdr.c +++ b/fs/nfs/nfs42xdr.c @@ -241,23 +241,7 @@ out_overflow: static int decode_layoutstats(struct xdr_stream *xdr, struct nfs42_layoutstat_res *res) { - int status; - __be32 *p; - - status = decode_op_hdr(xdr, OP_LAYOUTSTATS); - if (status) - return status; - - p = xdr_inline_decode(xdr, 4); - if (unlikely(!p)) - goto out_overflow; - - res->rpc_status = be32_to_cpup(p++); - return 0; - -out_overflow: - print_overflow_msg(__func__, xdr); - return -EIO; + return decode_op_hdr(xdr, OP_LAYOUTSTATS); } /* |