[PATCH v1 0/6] NFSD read path clean-ups
From: Chuck Lever <cel@kernel.org>
Date: 2023-05-18 17:45:44
There are significant changes afoot for the NFSD I/O
infrastructure, including changes to the use of rq_pages and
adding support for folios. With this series, I'm starting to
re-shape some of the I/O path code to prepare it for these
modifications.
In particular, eventually the TCP send path will eventually
take a single iterator to cover the record marker, the head
buffer, and possibly a page or folio array, and a tail buffer.
NFSD's generic read and write infrastructure (ie, fs/nfsd/vfs.c)
will need to cope with that, and it will need to handle getting
READ payloads in the form of folios rather than pages, in many
cases.
Consider this series as a set of clean-ups, but also as a
conversation starter about how this work should progress.
---
Chuck Lever (6):
NFSD: Ensure that xdr_write_pages updates rq_next_page
NFSD: Use svcxdr_encode_opaque_pages() in nfsd4_encode_splice_read()
NFSD: Update rq_next_page between COMPOUND operations
NFSD: Hoist rq_vec preparation into nfsd_read()
NFSD: Hoist rq_vec preparation into nfsd_read() [step two]
NFSD: Remove nfsd_readv()
fs/nfsd/nfs3proc.c | 14 +------
fs/nfsd/nfs3xdr.c | 11 ++++--
fs/nfsd/nfs4xdr.c | 61 +++++++++++++++---------------
fs/nfsd/nfsproc.c | 14 +------
fs/nfsd/nfsxdr.c | 11 ++++--
fs/nfsd/vfs.c | 76 +++++++++++++++++++++++++++++++-------
fs/nfsd/vfs.h | 9 ++---
include/linux/sunrpc/svc.h | 21 +++++++++++
include/linux/sunrpc/xdr.h | 3 +-
net/sunrpc/xdr.c | 26 ++++++-------
10 files changed, 148 insertions(+), 98 deletions(-)
--
Chuck Lever