[GIT PULL 11/12 for v7.0] vfs iomap

Christian Brauner posted 12 patches 2 days, 18 hours ago
Only 4 patches received!
[GIT PULL 11/12 for v7.0] vfs iomap
Posted by Christian Brauner 2 days, 18 hours ago
Hey Linus,

/* Summary */

This contains the iomap changes for this cycle.

Erofs page cache sharing preliminaries:

  Plumb a void *private parameter through iomap_read_folio() and
  iomap_readahead() into iomap_iter->private, matching iomap DIO. Erofs
  uses this to replace a bogus kmap_to_page() call, as preparatory work
  for page cache sharing.

Fix for invalid folio access:

  Fix an invalid folio access when a folio without iomap_folio_state is
  fully submitted to the IO helper — the helper may call
  folio_end_read() at any time, so ctx->cur_folio must be invalidated
  after full submission.

/* Testing */

gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3+b1)

No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

Conflict with the ntfs3 tree. commit 099ef9ab9203d ("fs/ntfs3: implement
iomap-based file operations") calls iomap_read_folio() and iomap_readahead()
with two arguments, but commit 8806f279244bf ("iomap: stash iomap read ctx
in the private field of iomap_iter") added a third parameter.

diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -678,7 +678,7 @@
-	iomap_read_folio(&ntfs_iomap_ops, &ctx);
+	iomap_read_folio(&ntfs_iomap_ops, &ctx, NULL);
@@ -702,7 +702,7 @@
-	iomap_readahead(&ntfs_iomap_ops, &ctx);
+	iomap_readahead(&ntfs_iomap_ops, &ctx, NULL);

[1]: https://lore.kernel.org/linux-next/aW5AGPFq0HPi440m@sirena.org.uk/
[2]: https://lore.kernel.org/linux-next/202601201453.3N9V4NVP-lkp@intel.com/
[3]: https://lore.kernel.org/linux-next/202601201642.SjxE1oMu-lkp@intel.com/
[4]: https://lore.kernel.org/linux-next/aXdnKldyCVLxrk78@sirena.org.uk/

The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:

  Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)

are available in the Git repository at:

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-7.0-rc1.iomap

for you to fetch changes up to aa35dd5cbc060bc3e28ad22b1d76eefa3f024030:

  iomap: fix invalid folio access after folio_end_read() (2026-01-29 13:42:05 +0100)

----------------------------------------------------------------
vfs-7.0-rc1.iomap

Please consider pulling these changes from the signed vfs-7.0-rc1.iomap tag.

Thanks!
Christian

----------------------------------------------------------------
Christian Brauner (1):
      Merge patch series "iomap: erofs page cache sharing preliminaries"

Hongbo Li (2):
      iomap: stash iomap read ctx in the private field of iomap_iter
      erofs: hold read context in iomap_iter if needed

Joanne Koong (1):
      iomap: fix invalid folio access after folio_end_read()

 fs/erofs/data.c        | 67 ++++++++++++++++++++++++++++++++++----------------
 fs/fuse/file.c         |  4 +--
 fs/iomap/buffered-io.c | 57 ++++++++++++++++++++++--------------------
 include/linux/iomap.h  |  8 +++---
 4 files changed, 83 insertions(+), 53 deletions(-)