NFSD: Use xdr_pad_size()
authorChuck Lever <chuck.lever@oracle.com>
Fri, 22 Jul 2022 20:09:16 +0000 (16:09 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Sat, 30 Jul 2022 00:16:57 +0000 (20:16 -0400)
Clean up: Use a helper instead of open-coding the calculation of
the XDR pad size.

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

index 32f4f48458e6c265c7e3845bf3f2c2cc94677d5d..71bac0039c4286993752bb7ac7129fb5dda636e1 100644 (file)
@@ -3940,9 +3940,8 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
 {
        struct xdr_stream *xdr = resp->xdr;
        unsigned int starting_len = xdr->buf->len;
+       __be32 zero = xdr_zero;
        __be32 nfserr;
-       __be32 tmp;
-       int pad;
 
        read->rd_vlen = xdr_reserve_space_vec(xdr, resp->rqstp->rq_vec, maxcount);
        if (read->rd_vlen < 0)
@@ -3958,11 +3957,9 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
                return nfserr_io;
        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 + maxcount, &tmp, pad);
-       return 0;
-
+       write_bytes_to_xdr_buf(xdr->buf, starting_len + maxcount, &zero,
+                              xdr_pad_size(maxcount));
+       return nfs_ok;
 }
 
 static __be32