linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] NFS DIRECT: handle misaligned READ and WRITE for LOCALIO
@ 2025-07-22  2:49 Mike Snitzer
  2025-07-22  2:49 ` [PATCH v2 1/7] nfs/localio: avoid bouncing LOCALIO if nfs_client_is_local() Mike Snitzer
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Mike Snitzer @ 2025-07-22  2:49 UTC (permalink / raw)
  To: Trond Myklebust, Anna Schumaker; +Cc: linux-nfs

Hi,

This "NFS DIRECT" series depends on the "NFSD DIRECT" series here:
https://lore.kernel.org/linux-nfs/20250714224216.14329-1-snitzer@kernel.org/
(for the benefit of nfsd_file_dio_alignment patch in this series)

The first patch was posted as part of a LOCALIO revert series I posted
a week or so ago, thankfully that series isn't needed thanks to Trond
and Neil's efforts.  BUT the first patch is needed, has Reviewed-by
from Jeff and Neil and is marked for stable@.

The biggest change in v2 is the introduction of O_DIRECT misaligned
READ and WRITE handling for the benefit of LOCALIO. Please see patches
6 and 7 for more details.

Changes since v1:
- renamed nfs modparam from localio_O_DIRECT_align_misaligned_READ to
  localio_O_DIRECT_align_misaligned_IO (is used for misaligned READ
  and WRITE support in fs/nfs/direct.c)
- added misaligned O_DIRECT handling for both READ and WRITE to
  fs/nfs/direct.c which in practice obviates LOCALIO's need to
  fallback to sending misaligned READs to NFSD.
- But the 5th patch that adds LOCALIO support to fallback to NFSD is a
  useful backup mechanism (that will hopefully never be needed unless
  some fs/nfs/direct.c bug gets introduced in the future). Patch 5
  also provides refactoring that is useful.

Thanks,
Mike

Mike Snitzer (7):
  nfs/localio: avoid bouncing LOCALIO if nfs_client_is_local()
  nfs/localio: make trace_nfs_local_open_fh more useful
  nfs/localio: add nfsd_file_dio_alignment
  nfs/localio: refactor iocb initialization
  nfs/localio: fallback to NFSD for misaligned O_DIRECT READs
  nfs/direct: add misaligned READ handling
  nfs/direct: add misaligned WRITE handling

 fs/nfs/direct.c                        | 262 +++++++++++++++++++++++--
 fs/nfs/flexfilelayout/flexfilelayout.c |   1 +
 fs/nfs/internal.h                      |  17 +-
 fs/nfs/localio.c                       | 231 ++++++++++++++--------
 fs/nfs/nfstrace.h                      |  47 ++++-
 fs/nfs/pagelist.c                      |  22 ++-
 fs/nfsd/localio.c                      |  11 ++
 include/linux/nfs_page.h               |   1 +
 include/linux/nfslocalio.h             |   2 +
 9 files changed, 485 insertions(+), 109 deletions(-)

-- 
2.44.0


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

end of thread, other threads:[~2025-07-24 19:39 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-22  2:49 [PATCH v2 0/7] NFS DIRECT: handle misaligned READ and WRITE for LOCALIO Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 1/7] nfs/localio: avoid bouncing LOCALIO if nfs_client_is_local() Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 2/7] nfs/localio: make trace_nfs_local_open_fh more useful Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 3/7] nfs/localio: add nfsd_file_dio_alignment Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 4/7] nfs/localio: refactor iocb initialization Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 5/7] nfs/localio: fallback to NFSD for misaligned O_DIRECT READs Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 6/7] nfs/direct: add misaligned READ handling Mike Snitzer
2025-07-22  2:49 ` [PATCH v2 7/7] nfs/direct: add misaligned WRITE handling Mike Snitzer
2025-07-23 18:40 ` [PATCH v2 0/7] NFS DIRECT: handle misaligned READ and WRITE for LOCALIO Mike Snitzer
2025-07-23 18:42   ` Chuck Lever
2025-07-23 23:53     ` Mike Snitzer
2025-07-23 23:58       ` Mike Snitzer
2025-07-24 13:28       ` Chuck Lever
2025-07-24 19:39         ` Mike Snitzer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).