Re: [PATCH v9 01/10] iomap: stash iomap read ctx in the private field of iomap_iter

From: Gao Xiang
Date: Mon Nov 17 2025 - 12:20:33 EST


Hi Darrick, Christian,

On 2025/11/17 21:25, Hongbo Li wrote:
It's useful to get filesystem-specific information using the
existing private field in the @iomap_iter passed to iomap_{begin,end}
for advanced usage for iomap buffered reads, which is much like the
current iomap DIO.

For example, EROFS needs it to:

- implement an efficient page cache sharing feature, since iomap
needs to apply to anon inode page cache but we'd like to get the
backing inode/fs instead, so filesystem-specific private data is
needed to keep such information;

- pass in both struct page * and void * for inline data to avoid
kmap_to_page() usage (which is bogus).

Reviewed-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
Signed-off-by: Hongbo Li <lihongbo22@xxxxxxxxxx>

Could you help review this iomap change, since erofs uses iomap
and erofs page cache sharing needs this change, as I told
Joanne months ago.

Even without the page cache sharing feature, introducing
iomap_iter_ctx for .iomap_{begin,end}, like the current DIO
does, is still useful for erofs, as patch 2 mentioned.

Thanks,
Gao XIang