diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-01-22 16:02:36 (GMT) |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-01-22 16:02:36 (GMT) |
commit | 6d45c042f35ea9b27bf946380f74ff75d32280c9 (patch) | |
tree | 065c108254a768aa12d145374b1b9f6f10591ac3 /fs/nfs/flexfilelayout/flexfilelayout.c | |
parent | 6272dcc6beebbc2d8cf4165b628169e878f143e0 (diff) | |
parent | 082fa37d1351a41afc491d44a1d095cb8d919aa2 (diff) | |
download | linux-6d45c042f35ea9b27bf946380f74ff75d32280c9.tar.xz |
Merge branch 'bugfixes'
* bugfixes:
pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
pNFS/flexfiles: Improve merging of errors in LAYOUTRETURN
Diffstat (limited to 'fs/nfs/flexfilelayout/flexfilelayout.c')
-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 6594e9f..5bcd92d 100644 --- a/fs/nfs/flexfilelayout/flexfilelayout.c +++ b/fs/nfs/flexfilelayout/flexfilelayout.c @@ -1948,11 +1948,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__); } |