summaryrefslogtreecommitdiff
path: root/fs/nfsd/nfs4xdr.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2023-09-25 09:28:10 -0400
committerChuck Lever <chuck.lever@oracle.com>2023-10-16 12:44:29 -0400
commit85dbc978b33be6f5e2e06e34b5219d730d5f9aa4 (patch)
tree7142bc7a7c5ddf061a8aa95a347dbadc5e04dbe3 /fs/nfsd/nfs4xdr.c
parentcc313f80d0591aa5076761ce1854e3ef144084ec (diff)
NFSD: Clean up nfsd4_encode_layoutreturn()
Adopt the use of conventional XDR utility functions. Restructure the encoder to better align with the XDR definition of the result. Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd/nfs4xdr.c')
-rw-r--r--fs/nfsd/nfs4xdr.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 0f8f1f7d5840..4e4d1af39528 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -4931,15 +4931,15 @@ nfsd4_encode_layoutreturn(struct nfsd4_compoundres *resp, __be32 nfserr,
{
struct nfsd4_layoutreturn *lrp = &u->layoutreturn;
struct xdr_stream *xdr = resp->xdr;
- __be32 *p;
- p = xdr_reserve_space(xdr, 4);
- if (!p)
- return nfserr_resource;
- *p++ = cpu_to_be32(lrp->lrs_present);
+ /* lrs_present */
+ nfserr = nfsd4_encode_bool(xdr, lrp->lrs_present);
+ if (nfserr != nfs_ok)
+ return nfserr;
if (lrp->lrs_present)
+ /* lrs_stateid */
return nfsd4_encode_stateid4(xdr, &lrp->lr_sid);
- return 0;
+ return nfs_ok;
}
#endif /* CONFIG_NFSD_PNFS */