pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
authorTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 21 Jan 2016 20:39:40 +0000 (15:39 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 22 Jan 2016 16:01:44 +0000 (11:01 -0500)
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>
Cc: stable@vger.kernel.org # 4.0+
fs/nfs/flexfilelayout/flexfilelayout.c

index 405f46ba490e50df3635f125fb24a40e5b984899..2a2e2d8ddee52e0e0473864e4e05cbd5215a37b5 100644 (file)
@@ -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__);
 }