diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2021-09-30 23:06:21 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2021-10-02 22:10:01 +0200 |
commit | dae9a6cab8009e526570e7477ce858dcdfeb256e (patch) | |
tree | c21c6f7c40a317463da96e10a98e05e9e5313090 /fs/nfsd/nfs3proc.c | |
parent | SUNRPC: xdr_stream_subsegment() must handle non-zero page_bases (diff) | |
download | linux-dae9a6cab8009e526570e7477ce858dcdfeb256e.tar.xz linux-dae9a6cab8009e526570e7477ce858dcdfeb256e.zip |
NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
Refactor.
Now that the NFSv2 and NFSv3 XDR decoders have been converted to
use xdr_streams, the WRITE decoder functions can use
xdr_stream_subsegment() to extract the WRITE payload into its own
xdr_buf, just as the NFSv4 WRITE XDR decoder currently does.
That makes it possible to pass the first kvec, pages array + length,
page_base, and total payload length via a single function parameter.
The payload's page_base is not yet assigned or used, but will be in
subsequent patches.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs3proc.c')
-rw-r--r-- | fs/nfsd/nfs3proc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 17715a6c7a40..4418517f6f12 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c @@ -201,8 +201,7 @@ nfsd3_proc_write(struct svc_rqst *rqstp) fh_copy(&resp->fh, &argp->fh); resp->committed = argp->stable; - nvecs = svc_fill_write_vector(rqstp, rqstp->rq_arg.pages, - &argp->first, cnt); + nvecs = svc_fill_write_vector(rqstp, &argp->payload); if (!nvecs) { resp->status = nfserr_io; goto out; |