summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4xdr.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2023-09-25 09:27:38 -0400
committerChuck Lever <chuck.lever@oracle.com>2023-10-16 12:44:27 -0400
commit76bebcc7640eaac7213ab6ef97b3376733c69123 (patch)
tree7046267d64d3c1c72fc5f45e1e8074b87c4a0021 /fs/nfsd/nfs4xdr.c
parentae1131d45bf9e110a0f95e9ada64a59693ccf21e (diff)
downloadlinux-stable-76bebcc7640eaac7213ab6ef97b3376733c69123.tar.gz
linux-stable-76bebcc7640eaac7213ab6ef97b3376733c69123.tar.bz2
linux-stable-76bebcc7640eaac7213ab6ef97b3376733c69123.zip
NFSD: Add nfsd4_encode_count4()
This is a synonym for nfsd4_encode_uint32_t() that matches the name of the XDR type. It will get at least one more use in a subsequent patch. 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.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 1bb03fc0407f..50041380429a 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -4619,12 +4619,17 @@ nfsd4_encode_write(struct nfsd4_compoundres *resp, __be32 nfserr,
union nfsd4_op_u *u)
{
struct nfsd4_write *write = &u->write;
+ struct xdr_stream *xdr = resp->xdr;
- if (xdr_stream_encode_u32(resp->xdr, write->wr_bytes_written) < 0)
- return nfserr_resource;
- if (xdr_stream_encode_u32(resp->xdr, write->wr_how_written) < 0)
+ /* count */
+ nfserr = nfsd4_encode_count4(xdr, write->wr_bytes_written);
+ if (nfserr)
+ return nfserr;
+ /* committed */
+ if (xdr_stream_encode_u32(xdr, write->wr_how_written) != XDR_UNIT)
return nfserr_resource;
- return nfsd4_encode_verifier4(resp->xdr, &write->wr_verifier);
+ /* writeverf */
+ return nfsd4_encode_verifier4(xdr, &write->wr_verifier);
}
static __be32