diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-01-21 15:39:40 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-25 12:01:18 -0800 |
commit | 66b8812e87f3fcf9d52b107a8d3102cd3f77ae1e (patch) | |
tree | d647b68b82a66fa470fa0be510db469de3326f75 /fs | |
parent | d65eb5b3dfb1159ea69c6ce170f83a0a90548ac6 (diff) | |
download | linux-stable-66b8812e87f3fcf9d52b107a8d3102cd3f77ae1e.tar.gz linux-stable-66b8812e87f3fcf9d52b107a8d3102cd3f77ae1e.tar.bz2 linux-stable-66b8812e87f3fcf9d52b107a8d3102cd3f77ae1e.zip |
pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
commit 082fa37d1351a41afc491d44a1d095cb8d919aa2 upstream.
We must not skip encoding the statistics, or the server will see an
XDR encoding error.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/flexfilelayout/flexfilelayout.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c b/fs/nfs/flexfilelayout/flexfilelayout.c index 405f46ba490e..2a2e2d8ddee5 100644 --- a/fs/nfs/flexfilelayout/flexfilelayout.c +++ b/fs/nfs/flexfilelayout/flexfilelayout.c @@ -1859,11 +1859,9 @@ ff_layout_encode_layoutreturn(struct pnfs_layout_hdr *lo, start = xdr_reserve_space(xdr, 4); BUG_ON(!start); - if (ff_layout_encode_ioerr(flo, xdr, args)) - goto out; - + ff_layout_encode_ioerr(flo, xdr, args); ff_layout_encode_iostats(flo, xdr, args); -out: + *start = cpu_to_be32((xdr->p - start - 1) * 4); dprintk("%s: Return\n", __func__); } |