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

From: Christian Brauner

Date: Fri Feb 06 2026 - 11:58:26 EST


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@xxxxxxxxxxxxx/
[2]: https://lore.kernel.org/linux-next/202601201453.3N9V4NVP-lkp@xxxxxxxxx/
[3]: https://lore.kernel.org/linux-next/202601201642.SjxE1oMu-lkp@xxxxxxxxx/
[4]: https://lore.kernel.org/linux-next/aXdnKldyCVLxrk78@xxxxxxxxxxxxx/

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@xxxxxxxxxxxxxxxxxxx: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(-)