summaryrefslogtreecommitdiff
path: root/fs/nfsd
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2022-07-22 16:09:10 -0400
committerChuck Lever <chuck.lever@oracle.com>2022-07-29 20:16:57 -0400
commit071ae99feadfc55979f89287d6ad2c6a315cb46d (patch)
tree43a51b1cb9e11809b5476ee8a7028c9d9ebfe172 /fs/nfsd
parent28d5bc468efe74b790e052f758ce083a5015c665 (diff)
downloadlwn-071ae99feadfc55979f89287d6ad2c6a315cb46d.tar.gz
lwn-071ae99feadfc55979f89287d6ad2c6a315cb46d.zip
NFSD: Simplify starting_len
Clean-up: Now that nfsd4_encode_readv() does not have to encode the EOF or rd_length values, it no longer needs to subtract 8 from @starting_len. Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4xdr.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 1e59d4ce529f..32f4f48458e6 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -3939,7 +3939,7 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
struct file *file, unsigned long maxcount)
{
struct xdr_stream *xdr = resp->xdr;
- int starting_len = xdr->buf->len - 8;
+ unsigned int starting_len = xdr->buf->len;
__be32 nfserr;
__be32 tmp;
int pad;
@@ -3954,14 +3954,13 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
read->rd_length = maxcount;
if (nfserr)
return nfserr;
- if (svc_encode_result_payload(resp->rqstp, starting_len + 8, maxcount))
+ if (svc_encode_result_payload(resp->rqstp, starting_len, maxcount))
return nfserr_io;
- xdr_truncate_encode(xdr, starting_len + 8 + xdr_align_size(maxcount));
+ xdr_truncate_encode(xdr, starting_len + xdr_align_size(maxcount));
tmp = xdr_zero;
pad = (maxcount&3) ? 4 - (maxcount&3) : 0;
- write_bytes_to_xdr_buf(xdr->buf, starting_len + 8 + maxcount,
- &tmp, pad);
+ write_bytes_to_xdr_buf(xdr->buf, starting_len + maxcount, &tmp, pad);
return 0;
}