diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2023-10-09 14:30:23 -0400 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2023-10-16 12:44:37 -0400 |
commit | b609ad60b7adcb0594fa2278f1d8ffecc4fd07d4 (patch) | |
tree | 8d40f5500288112d79ced88d1657921e7f95a137 | |
parent | 21d316a767ac2ebc9de281cd2ec5f3c22827dd8e (diff) | |
download | linux-b609ad60b7adcb0594fa2278f1d8ffecc4fd07d4.tar.gz linux-b609ad60b7adcb0594fa2278f1d8ffecc4fd07d4.tar.bz2 linux-b609ad60b7adcb0594fa2278f1d8ffecc4fd07d4.zip |
NFSD: Clean up nfsd4_encode_offset_status()
Use modern XDR encoder utilities.
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index c72240c3f4db..aa477ba2a654 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -5189,14 +5189,15 @@ nfsd4_encode_offload_status(struct nfsd4_compoundres *resp, __be32 nfserr, { struct nfsd4_offload_status *os = &u->offload_status; struct xdr_stream *xdr = resp->xdr; - __be32 *p; - p = xdr_reserve_space(xdr, 8 + 4); - if (!p) + /* osr_count */ + nfserr = nfsd4_encode_length4(xdr, os->count); + if (nfserr != nfs_ok) + return nfserr; + /* osr_complete<1> */ + if (xdr_stream_encode_u32(xdr, 0) != XDR_UNIT) return nfserr_resource; - p = xdr_encode_hyper(p, os->count); - *p++ = cpu_to_be32(0); - return nfserr; + return nfs_ok; } static __be32 |