Skip to content

NFSD: Implement NFSD_IO_DIRECT for NFS WRITE

Chuck Lever linux-nfs stable 10 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v12 Latest3 patches 3 repliesIn review
  2. v113 patches 28 repliesSuperseded
  3. v105 patches 20 repliesSuperseded
Earlier versions · 7
VersionPostedPatchesRepliesStatus
v912 patches24 repliesSuperseded
v812 patches16 repliesSuperseded
v714 patches70 repliesSuperseded
v65 patches11 repliesSuperseded
v54 patches11 repliesSuperseded
v43 patches17 repliesSuperseded
v11 patch15 repliesSuperseded

Changes in v12 from the cover letter

* Added trace point to the unaligned write arm
* Reverted to use DONTCACHE on all unaligned writes
* Replaced the comment that mentioned the intent of IOCB_DIRECT

Patches in v12 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3NFSD: Make FILE_SYNC WRITEs comply with specfs/nfsd/vfs.c+12 -20 replies
2/3NFSD: Implement NFSD_IO_DIRECT for NFS WRITEfs/nfsd/debugfs.c fs/nfsd/trace.h fs/nfsd/vfs.c+144 -41 reply
3/3NFSD: add Documentation/filesystems/nfs/nfsd-io-modes.rstDocumentation/filesystems/nfs/nfsd-io-modes.rst+144 -02 replies

Reviews trailers per patch

2 of 3 patches have a Reviewed-by or Acked-by.

PatchJeff LaytonNeilBrownChristoph Hellwig
1/3R-b R-b R-b
2/3R-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v12 thread

Cover letter [PATCH v12 0/3] NFSD: Implement NFSD_IO_DIRECT for NFS WRITE

From: Chuck Lever <[email protected]>

Following on https://lore.kernel.org/linux-nfs/[email protected]/
this series includes the patches needed to make NFSD Direct WRITE operational.

I still see this during fstests runs with NFSD_IO_DIRECT enabled:

WARNING: CPU: 5 PID: 1309 at fs/iomap/buffered-io.c:1402 iomap_zero_iter+0x1a4/0x390

No new test failures, but I need to narrow down which test is triggering this warning.

Applies on the branch:
https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=nfsd-next

Changes since v11:
* Added trace point to the unaligned write arm
* Reverted to use DONTCACHE on all unaligned writes
* Replaced the comment that mentioned the intent of IOCB_DIRECT

Changes since v10:
* Applied Christoph's clean-ups
* Applied Mike's documentation fixes

Changes since v9:
* Unaligned segments no longer use IOCB_DONTCACHE
* Squashed all review patches into Mike's initial patch
* Squashed Mike's documentation update into the final patch

Changes since v8:
* Drop "NFSD: Handle both offset and memory alignment for direct I/O"
* Include the Sep 3 version of the Documentation update

Changes since v7:
* Rebase the series on Mike's original v3 patch
* Address more review comments
* Optimize the "when can NFSD use IOCB_DIRECT" logic
* Revert the "always promote to FILE_SYNC" logic

Changes since v6:
* Patches to address review comments have been split out
* Refactored the iter initialization code

Changes since v5:
* Add a patch to make FILE_SYNC WRITEs persist timestamps
* Address some of Christoph's review comments
* The svcrdma patch has been dropped until we actually need it

Changes since v4:
* Split out refactoring nfsd_buffered_write() into a separate patch
* Expand patch description of 1/4
* Don't set IOCB_SYNC flag

Changes since v3:
* Address checkpatch.pl nits in 2/3
* Add an untested patch to mark ingress RDMA Read chunks

Chuck Lever (1):
NFSD: Make FILE_SYNC WRITEs comply with spec

Mike Snitzer (2):
NFSD: Implement NFSD_IO_DIRECT for NFS WRITE
NFSD: add Documentation/filesystems/nfs/nfsd-io-modes.rst

 .../filesystems/nfs/nfsd-io-modes.rst         | 144 ++++++++++++++++
 fs/nfsd/debugfs.c                             |   1 +
 fs/nfsd/trace.h                               |   2 +
 fs/nfsd/vfs.c                                 | 159 +++++++++++++++++-
 4 files changed, 300 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/filesystems/nfs/nfsd-io-modes.rst
Signature · 1 line
2.51.0