NFSD: Clean up nfsd4_encode_offset_status()
authorChuck Lever <chuck.lever@oracle.com>
Mon, 9 Oct 2023 18:30:23 +0000 (14:30 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 16 Oct 2023 16:44:37 +0000 (12:44 -0400)
Use modern XDR encoder utilities.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4xdr.c

index c72240c3f4db4a6cc1fcd6d0577b460e03b603ab..aa477ba2a6543ab95dc16b1a54dea7e1bcd78e09 100644 (file)
@@ -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