pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
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+
This commit is contained in:
@@ -1859,11 +1859,9 @@ ff_layout_encode_layoutreturn(struct pnfs_layout_hdr *lo,
|
|||||||
start = xdr_reserve_space(xdr, 4);
|
start = xdr_reserve_space(xdr, 4);
|
||||||
BUG_ON(!start);
|
BUG_ON(!start);
|
||||||
|
|
||||||
if (ff_layout_encode_ioerr(flo, xdr, args))
|
ff_layout_encode_ioerr(flo, xdr, args);
|
||||||
goto out;
|
|
||||||
|
|
||||||
ff_layout_encode_iostats(flo, xdr, args);
|
ff_layout_encode_iostats(flo, xdr, args);
|
||||||
out:
|
|
||||||
*start = cpu_to_be32((xdr->p - start - 1) * 4);
|
*start = cpu_to_be32((xdr->p - start - 1) * 4);
|
||||||
dprintk("%s: Return\n", __func__);
|
dprintk("%s: Return\n", __func__);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user