Thread (7 messages) 7 messages, 1 author, 2023-05-18
STALE1124d

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help