All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@kernel.org>
To: Anna Schumaker <anna@kernel.org>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>,
	Chuck Lever <chuck.lever@oracle.com>,
	linux-nfs@vger.kernel.org
Subject: [GIT PULL] NFS LOCALIO O_DIRECT changes for Linux 6.18
Date: Tue, 30 Sep 2025 12:26:11 -0400	[thread overview]
Message-ID: <aNwEo7wOMrwcmq9b@kernel.org> (raw)
In-Reply-To: <aNgSOM9EzMS_Q6bR@kernel.org>

Hi Anna,

Given that my NFS LOCALIO O_DIRECT changes depend on NFSD changes
which will be included in the NFSD pull request for 6.18, I figured it
worth proposing a post-NFSD-merge pull request for your consideration
as the best way forward logistically (to ensure linux-next coverage,
you could pull this in _before_ Chuck sends his pull to Linus).

If you were to pull this into your NFS tree it'd bring with it Chuck's
nfsd-next (commit db155b7c7c85b5 as of now) followed by my dependant
NFS LOCALIO O_DIRECT changes.

You'll note that I folded 3 commits from Chuck's current nfsd-testing
branch into a single "NFSD: filecache: add STATX_DIOALIGN and
STATX_DIO_READ_ALIGN support", the commits from cel/nfsd-testing are:

 9cc8512712b11 NFSD: filecache: add STATX_DIOALIGN and STATX_DIO_READ_ALIGN support
 e5107ff95c56d NFSD: Prevent a NULL pointer dereference in fh_getattr()
 ed7edd1976c04 NFSD: Ignore vfs_getattr() failure in nfsd_file_get_dio_attrs()

The header for "NFSD: filecache: add STATX_DIOALIGN and
STATX_DIO_READ_ALIGN support" was updated to combine all headers. A
bit overkill but I opted for preserving full context on the evolution
of the code while folding Chuck's helpful fixes to my original commit.

The following changes since commit db155b7c7c85b5f14edec21e164001a168581ffb:

  NFSD: Disallow layoutget during grace period (2025-09-25 10:01:24 -0400)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/snitzer/linux.git tags/for-6.18/NFS-LOCALIO-DIO-post-NFSD-merge

for you to fetch changes up to 40cdfedf0aabf3b96c4cb337fdd316b4a2332905:

  NFS: add basic STATX_DIOALIGN and STATX_DIO_READ_ALIGN support (2025-09-30 11:42:36 -0400)

Please pull if you agree this works best, thanks.
Mike

ps. I know you've been looking at all this, but it is late, 6.18 merge
window is open, etc.  Just being pragmatic by acknowledging the
awkward sequence needed to get these NFS LOCALIO changes to land. If
you'd like to skin the cat a different way, that's fine.

----------------------------------------------------------------
NFS LOCALIO O_DIRECT changes that depend on various 6.18 NFSD changes,
culminating with: "NFSD: filecache: add STATX_DIOALIGN and
STATX_DIO_READ_ALIGN support".

-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEJfWUX4UqZ4x1O2wixSPxCi2dA1oFAmjb/FEACgkQxSPxCi2d
A1oYwwf9G+hp5c2KlxBMBei0z1RwxDg2sUMK1YjQrlQYhEW7cyWbImtZcyPSoK1u
vFUoqTGy6KsyzlRq//CFPVdg3g7zoAfXGk/58id30Vqn6FRUguLIWc/KjZSuJADw
JUfEPiVr6Ap+8DN8ny6ZVuP8GCT0N/zq3X8dV1KzUOUvDh0R87N415EddSNe6W97
Yo5ZTk4SGG+iRgf+e0m+rkTNmqe/VOzADFolTfV1Cs5l7h6k+bUNPxB8j0gqcZvZ
P7ojTHeUkmqFdmFbsKSG7QK/O/wYxAZezndFxONxqsvWQcKqFooj/AmqMUtsRBri
03OxDeHBj31iS+LG2ByIxnG/8yEmpQ==
=/qUg
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Mike Snitzer (8):
      NFSD: filecache: add STATX_DIOALIGN and STATX_DIO_READ_ALIGN support
      nfs/localio: make trace_nfs_local_open_fh more useful
      nfs/localio: avoid issuing misaligned IO using O_DIRECT
      nfs/localio: refactor iocb and iov_iter_bvec initialization
      nfs/localio: refactor iocb initialization
      nfs/localio: add proper O_DIRECT support for READ and WRITE
      nfs/localio: add tracepoints for misaligned DIO READ and WRITE support
      NFS: add basic STATX_DIOALIGN and STATX_DIO_READ_ALIGN support

 fs/nfs/inode.c             |  15 ++
 fs/nfs/internal.h          |  10 ++
 fs/nfs/localio.c           | 404 ++++++++++++++++++++++++++++++++++-----------
 fs/nfs/nfs2xdr.c           |   2 +-
 fs/nfs/nfs3xdr.c           |   2 +-
 fs/nfs/nfstrace.h          |  76 ++++++++-
 fs/nfsd/filecache.c        |  33 ++++
 fs/nfsd/filecache.h        |   4 +
 fs/nfsd/localio.c          |  11 ++
 fs/nfsd/nfsfh.c            |   3 +
 fs/nfsd/trace.h            |  27 +++
 include/linux/nfslocalio.h |   2 +
 include/trace/misc/fs.h    |  22 +++
 13 files changed, 512 insertions(+), 99 deletions(-)

  parent reply	other threads:[~2025-09-30 16:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-15 15:41 [PATCH v9 0/7] NFS DIRECT: align misaligned DIO for LOCALIO Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 1/7] nfs/localio: make trace_nfs_local_open_fh more useful Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 2/7] nfs/localio: avoid issuing misaligned IO using O_DIRECT Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 3/7] nfs/localio: refactor iocb and iov_iter_bvec initialization Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 4/7] nfs/localio: refactor iocb initialization further Mike Snitzer
2025-09-15 15:41 ` SYNCFrom cb702c86aa12e5477e1e4aca0c1384a821f2afef Mon Sep 17 00:00:00 2001 Mike Snitzer
2025-09-15 15:47   ` [PATCH v9 5/7] nfs/localio: add proper O_DIRECT support for READ and WRITE Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 6/7] nfs/localio: add tracepoints for misaligned DIO READ and WRITE support Mike Snitzer
2025-09-15 15:41 ` [PATCH v9 7/7] NFS: add basic STATX_DIOALIGN and STATX_DIO_READ_ALIGN support Mike Snitzer
     [not found] ` <aMiMpYAcHV8bYU4W@kernel.org>
     [not found]   ` <aNLfroQ8Ti1Vh5wh@kernel.org>
     [not found]     ` <aNQqUprZ3DuJhMe4@kernel.org>
     [not found]       ` <aNgSOM9EzMS_Q6bR@kernel.org>
2025-09-30 16:26         ` Mike Snitzer [this message]
2025-09-30 17:15           ` [GIT PULL] NFS LOCALIO O_DIRECT changes for Linux 6.18 Chuck Lever
2025-09-30 17:35             ` Mike Snitzer
2025-09-30 17:59               ` Chuck Lever
2025-09-30 19:32           ` [GIT PULL v2] " Mike Snitzer
2025-09-30 20:53             ` Anna Schumaker
2025-09-30 21:30               ` Mike Snitzer
2025-10-01 16:04                 ` Mike Snitzer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aNwEo7wOMrwcmq9b@kernel.org \
    --to=snitzer@kernel.org \
    --cc=anna@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@hammerspace.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.