NFSD: Replace READ* macros in nfsd4_decode_write()

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
Chuck Lever 2020-11-03 14:44:28 -05:00
parent 67cd453eed
commit 244e2befcb
1 changed files with 11 additions and 10 deletions

View File

@ -1396,22 +1396,23 @@ nfsd4_decode_verify(struct nfsd4_compoundargs *argp, struct nfsd4_verify *verify
static __be32
nfsd4_decode_write(struct nfsd4_compoundargs *argp, struct nfsd4_write *write)
{
DECODE_HEAD;
__be32 status;
status = nfsd4_decode_stateid(argp, &write->wr_stateid);
status = nfsd4_decode_stateid4(argp, &write->wr_stateid);
if (status)
return status;
READ_BUF(16);
p = xdr_decode_hyper(p, &write->wr_offset);
write->wr_stable_how = be32_to_cpup(p++);
if (xdr_stream_decode_u64(argp->xdr, &write->wr_offset) < 0)
return nfserr_bad_xdr;
if (xdr_stream_decode_u32(argp->xdr, &write->wr_stable_how) < 0)
return nfserr_bad_xdr;
if (write->wr_stable_how > NFS_FILE_SYNC)
goto xdr_error;
write->wr_buflen = be32_to_cpup(p++);
return nfserr_bad_xdr;
if (xdr_stream_decode_u32(argp->xdr, &write->wr_buflen) < 0)
return nfserr_bad_xdr;
if (!xdr_stream_subsegment(argp->xdr, &write->wr_payload, write->wr_buflen))
goto xdr_error;
return nfserr_bad_xdr;
DECODE_TAIL;
return nfs_ok;
}
static __be32