All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/6] NFSD direct I/O read
@ 2025-10-08 13:52 Chuck Lever
  2025-10-08 13:52 ` [PATCH v6 1/6] nfsd: fix refcount leak in nfsd_set_fh_dentry() Chuck Lever
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Chuck Lever @ 2025-10-08 13:52 UTC (permalink / raw)
  To: NeilBrown, Jeff Layton, Olga Kornievskaia, Dai Ngo, Tom Talpey
  Cc: linux-nfs, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

The goal is to get the experimental read-side direct I/O
implementation merged sooner. We are still thinking through the
implications of mixing direct and buffered I/O when handling an
NFS WRITE that does not meet the dio alignment requirements.

Changes since v5:
* Rebased on what's now in v6.18-rc1
* getattr failures now properly cleaned up
* Fix patches have been moved to the front of the series

Changes since v4:
* Additional Reviewed-by's; applying v5 to nfsd-testing
* Address Christoph's comments on 4/4
* Suggest a couple of clean-ups for 1/4

Changes since v3:
* Move xdr_reserve_space_vec() call to preserve the page_len value
* Note that "add STATX_DIOALIGN and STATX_DIO_READ_ALIGN ..."
  remains exactly the same as it was in the v3 series

Changes since v2:
* "Add array bounds-checking..." has been applied to nfsd-testing
* Add a page_len check before committing to use direct I/O

Changes since v1:
* Harden the loop that constructs the I/O bvec
* Address review comments

Changes from Mike's v9:
* The LOC introduced by the feature has been reduced considerably.
* A new trace point in nfsd_file_getattr reports each file's dio
  alignment parameters when it is opened.
* The direct I/O path has been taken out-of-line so that it may
  continue to be modified and optimized without perturbing the more
  commonly-used I/O paths.
* When an exported file system does not implement direct I/O, more
  commonly-used modes are employed instead to avoid returning
  EOPNOTSUPP unexpectedly.
* When NFSD_IO_DIRECT is selected, NFS READs of all sizes use direct
  I/O to provide better experimental data about small I/O workloads.

Chuck Lever (4):
  NFSD: Prevent a NULL pointer dereference in fh_getattr()
  NFSD: Recover from vfs_getattr() failure in nfsd_file_get_dio_attrs()
  NFSD: Relocate the xdr_reserve_space_vec() call site
  NFSD: Implement NFSD_IO_DIRECT for NFS READ

Mike Snitzer (1):
  NFSD: pass nfsd_file to nfsd_iter_read()

NeilBrown (1):
  nfsd: fix refcount leak in nfsd_set_fh_dentry()

 fs/nfsd/debugfs.c   |  2 +
 fs/nfsd/filecache.c |  5 ++-
 fs/nfsd/nfs4xdr.c   | 28 ++++++++++----
 fs/nfsd/nfsd.h      |  1 +
 fs/nfsd/nfsfh.c     |  9 ++---
 fs/nfsd/trace.h     |  1 +
 fs/nfsd/vfs.c       | 90 +++++++++++++++++++++++++++++++++++++++++++--
 fs/nfsd/vfs.h       |  2 +-
 8 files changed, 120 insertions(+), 18 deletions(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-10-08 15:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-08 13:52 [PATCH v6 0/6] NFSD direct I/O read Chuck Lever
2025-10-08 13:52 ` [PATCH v6 1/6] nfsd: fix refcount leak in nfsd_set_fh_dentry() Chuck Lever
2025-10-08 14:13   ` Chuck Lever
2025-10-08 13:52 ` [PATCH v6 2/6] NFSD: Prevent a NULL pointer dereference in fh_getattr() Chuck Lever
2025-10-08 13:52 ` [PATCH v6 3/6] NFSD: Recover from vfs_getattr() failure in nfsd_file_get_dio_attrs() Chuck Lever
2025-10-08 15:03   ` Jeff Layton
2025-10-08 15:08     ` Chuck Lever
2025-10-08 13:52 ` [PATCH v6 4/6] NFSD: pass nfsd_file to nfsd_iter_read() Chuck Lever
2025-10-08 13:52 ` [PATCH v6 5/6] NFSD: Relocate the xdr_reserve_space_vec() call site Chuck Lever
2025-10-08 13:52 ` [PATCH v6 6/6] NFSD: Implement NFSD_IO_DIRECT for NFS READ Chuck Lever

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.