From: Jeff Layton <jlayton@kernel.org>
To: Donald Hunter <donald.hunter@gmail.com>,
Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
Chuck Lever <cel@kernel.org>, NeilBrown <neil@brown.name>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>
Cc: Steve Dickson <steved@redhat.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nfs@vger.kernel.org, linux-doc@vger.kernel.org,
Jeff Layton <jlayton@kernel.org>
Subject: [PATCH v2 0/6] nfsd: add new export options for controlling read/write iomode
Date: Thu, 29 Oct 2026 08:05:13 -0400 [thread overview]
Message-ID: <20261029-export-iomode-v2-0-fe8ec6251a36@kernel.org> (raw)
This version has the changes that Chuck requested. Most of it is minor
logic tweaks for saner handling of splice reads, and renaming the
options to read_io=/write_io=. I'll also be sending a v2 of the nfs-utils
patchset. Original cover letter follows:
When we originally added support for the dontcache and direct iomodes to
nfsd, we added global debugfs switches to control them. That was fine for
experimentation but the goal was always to move these controls to
something more permanent.
This patch series adds a new set of read_io= and write_io= export
options. With this, we can set the read and write iomode on a per-export
basis to either buffered, direct or dontcache.
The debugfs knobs will still stick around for now, and govern the
default iomode when it's not set on the export. Eventually these
controls should also be moved to something more permanent, but I've left
that as a future change for now.
The last patch adds new documentation that attempts to give the admin
some guidance on choosing read_io/write_io settings.
A companion nfs-utils patchset will follow that adds support for these
options to exportfs/mountd, and adds a new script to help users choose
iomode settings.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Changes in v2:
- Rename riomode=/wiomode= to read_io=/write_io=, and the netlink
attributes to read-io/write-io (Chuck)
- io_cache_read=dontcache/direct no longer sets disable-splice-read, so
read_io=buffered exports can still splice (Chuck)
- disable-splice-read=0 no longer resets io_cache_read to buffered
- Update the docs to match
- Rebase onto nfsd-testing
- Link to v1: https://lore.kernel.org/r/20261027-export-iomode-v1-0-262ed932a036@kernel.org
---
Jeff Layton (6):
NFSD: Add per-export read/write I/O mode settings
NFSD: Apply per-export I/O modes to READ and WRITE
NFSD: Document per-export read_io= and write_io= options
NFSD: Keep per-export statistics across export cache updates
NFSD: Count the storage reads of each export's READs
NFSD: Document how to choose an IO mode
Documentation/filesystems/nfs/nfsd-io-modes.rst | 196 +++++++++++++++++
Documentation/netlink/specs/nfsd.yaml | 24 +++
fs/nfsd/debugfs.c | 23 +-
fs/nfsd/export.c | 268 +++++++++++++++++++++---
fs/nfsd/export.h | 19 ++
fs/nfsd/netlink.c | 4 +-
fs/nfsd/netlink.h | 2 +-
fs/nfsd/netns.h | 6 +
fs/nfsd/nfs4xdr.c | 6 +-
fs/nfsd/nfsd.h | 17 +-
fs/nfsd/stats.h | 33 +++
fs/nfsd/vfs.c | 59 +++++-
fs/nfsd/vfs.h | 2 +
include/uapi/linux/nfsd_netlink.h | 12 ++
14 files changed, 605 insertions(+), 66 deletions(-)
---
base-commit: 19bbac00ad1cfa28e9127488f161ffc2ac03fad4
change-id: 20261013-export-iomode-1b56e9d89821
Best regards,
--
Jeff Layton <jlayton@kernel.org>
next reply other threads:[~2026-10-29 12:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 12:05 Jeff Layton [this message]
2026-10-29 12:05 ` [PATCH v2 1/6] NFSD: Add per-export read/write I/O mode settings Jeff Layton
2026-10-29 12:05 ` [PATCH v2 2/6] NFSD: Apply per-export I/O modes to READ and WRITE Jeff Layton
2026-10-29 12:05 ` [PATCH v2 3/6] NFSD: Document per-export read_io= and write_io= options Jeff Layton
2026-10-29 12:05 ` [PATCH v2 4/6] NFSD: Keep per-export statistics across export cache updates Jeff Layton
2026-10-29 12:05 ` [PATCH v2 5/6] NFSD: Count the storage reads of each export's READs Jeff Layton
2026-10-29 12:05 ` [PATCH v2 6/6] NFSD: Document how to choose an IO mode Jeff Layton
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=20261029-export-iomode-v2-0-fe8ec6251a36@kernel.org \
--to=jlayton@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=anna@kernel.org \
--cc=cel@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@kernel.org \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
--cc=netdev@vger.kernel.org \
--cc=okorniev@redhat.com \
--cc=pabeni@redhat.com \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.org \
--cc=steved@redhat.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox