aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2021-09-30 17:06:21 -0400
committerJ. Bruce Fields <bfields@redhat.com>2021-10-02 16:10:01 -0400
commitdae9a6cab8009e526570e7477ce858dcdfeb256e (patch)
treec21c6f7c40a317463da96e10a98e05e9e5313090 /include/linux/sunrpc
parentSUNRPC: xdr_stream_subsegment() must handle non-zero page_bases (diff)
downloadlinux-dev-dae9a6cab8009e526570e7477ce858dcdfeb256e.tar.xz
linux-dev-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 'include/linux/sunrpc')
-rw-r--r--include/linux/sunrpc/svc.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
index 064c96157d1f..6263410c948a 100644
--- a/include/linux/sunrpc/svc.h
+++ b/include/linux/sunrpc/svc.h
@@ -532,8 +532,7 @@ int svc_encode_result_payload(struct svc_rqst *rqstp,
unsigned int offset,
unsigned int length);
unsigned int svc_fill_write_vector(struct svc_rqst *rqstp,
- struct page **pages,
- struct kvec *first, size_t total);
+ struct xdr_buf *payload);
char *svc_fill_symlink_pathname(struct svc_rqst *rqstp,
struct kvec *first, void *p,
size_t total);