[GIT PULL] vfs netfs
From: Christian Brauner
Date: Mon Jun 02 2025 - 06:11:53 EST
Hey Linus,
A quick word on the general timing for netfs pull requests going
forward. In contrast to most of the other work I tend to send the netfs
updates a little later and will probably continue to do so in the
future. In the past we had some issues with late-stage fixes or there
were complicated merge conflicts with other trees or mainline that were
a little unusal. So since there's more jitter in how consistently this
tree can be carried through a cycle I'm letting this reflect in the pull
request timing as well.
/* Summary */
This contains the netfs updates for this cycle:
- The main API document has been extensively updated/rewritten.
- Fix an oops in write-retry due to mis-resetting the I/O iterator.
- Fix the recording of transferred bytes for short DIO reads.
- Fix a request's work item to not require a reference, thereby avoiding
the need to get rid of it in BH/IRQ context.
- Fix waiting and waking to be consistent about the waitqueue used.
- Remove NETFS_SREQ_SEEK_DATA_READ.
- Remove NETFS_INVALID_WRITE.
- Remove NETFS_ICTX_WRITETHROUGH.
- Remove NETFS_READ_HOLE_CLEAR.
- Reorder structs to eliminate holes.
- Remove netfs_io_request::ractl.
- Only provide proc_link field if CONFIG_PROC_FS=y.
- Remove folio_queue::marks3.
- Remove NETFS_RREQ_DONT_UNLOCK_FOLIOS.
- Remove NETFS_RREQ_BLOCKED.
- Fix undifferentiation of DIO reads from unbuffered reads.
generally sent
after vfs-6.16-rc1.misc
/* Testing */
gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
No known conflicts.
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit f1745496d3fba34a2e16ef47d78903d7208c1214:
netfs: Update main API document (2025-04-11 15:23:50 +0200)
are available in the Git repository at:
git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.16-rc1.netfs
for you to fetch changes up to db26d62d79e4068934ad0dccdb92715df36352b9:
netfs: Fix undifferentiation of DIO reads from unbuffered reads (2025-05-23 10:35:03 +0200)
Please consider pulling these changes from the signed vfs-6.16-rc1.netfs tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.16-rc1.netfs
----------------------------------------------------------------
Christian Brauner (3):
Merge netfs API documentation updates
Merge patch series "netfs: Miscellaneous cleanups"
Merge patch series "netfs: Miscellaneous fixes"
David Howells (4):
netfs: Fix oops in write-retry from mis-resetting the subreq iterator
netfs: Fix the request's work item to not require a ref
netfs: Fix wait/wake to be consistent about the waitqueue used
netfs: Fix undifferentiation of DIO reads from unbuffered reads
Max Kellermann (10):
fs/netfs: remove unused flag NETFS_SREQ_SEEK_DATA_READ
fs/netfs: remove unused source NETFS_INVALID_WRITE
fs/netfs: remove unused flag NETFS_ICTX_WRITETHROUGH
fs/netfs: remove unused enum choice NETFS_READ_HOLE_CLEAR
fs/netfs: reorder struct fields to eliminate holes
fs/netfs: remove `netfs_io_request.ractl`
fs/netfs: declare field `proc_link` only if CONFIG_PROC_FS=y
folio_queue: remove unused field `marks3`
fs/netfs: remove unused flag NETFS_RREQ_DONT_UNLOCK_FOLIOS
fs/netfs: remove unused flag NETFS_RREQ_BLOCKED
Paulo Alcantara (1):
netfs: Fix setting of transferred bytes with short DIO reads
Documentation/core-api/folio_queue.rst | 3 -
Documentation/filesystems/netfs_library.rst | 5 -
fs/9p/vfs_addr.c | 5 +-
fs/afs/write.c | 9 +-
fs/cachefiles/io.c | 16 +-
fs/ceph/addr.c | 6 +-
fs/erofs/fscache.c | 6 +-
fs/netfs/buffered_read.c | 56 ++++---
fs/netfs/buffered_write.c | 5 +-
fs/netfs/direct_read.c | 16 +-
fs/netfs/direct_write.c | 12 +-
fs/netfs/fscache_io.c | 10 +-
fs/netfs/internal.h | 42 ++++--
fs/netfs/main.c | 1 +
fs/netfs/misc.c | 219 ++++++++++++++++++++++++++++
fs/netfs/objects.c | 48 +++---
fs/netfs/read_collect.c | 199 +++++--------------------
fs/netfs/read_pgpriv2.c | 4 +-
fs/netfs/read_retry.c | 26 +---
fs/netfs/read_single.c | 6 +-
fs/netfs/write_collect.c | 83 ++++-------
fs/netfs/write_issue.c | 38 ++---
fs/netfs/write_retry.c | 19 +--
fs/nfs/fscache.c | 1 +
fs/smb/client/cifsproto.h | 3 +-
fs/smb/client/cifssmb.c | 4 +-
fs/smb/client/file.c | 10 +-
fs/smb/client/smb2pdu.c | 4 +-
include/linux/folio_queue.h | 42 ------
include/linux/fscache.h | 5 +-
include/linux/netfs.h | 45 +++---
include/trace/events/netfs.h | 11 +-
net/9p/client.c | 6 +-
33 files changed, 478 insertions(+), 487 deletions(-)