Hi Joanne, On Fri, Aug 29, 2025 at 04:56:24PM -0700, Joanne Koong wrote: > Add a void *private arg for read and readahead which filesystems that > pass in custom read callbacks can use. Stash this in the existing > private field in the iomap_iter. > > Signed-off-by: Joanne Koong <joannelkoong@xxxxxxxxx> > --- > block/fops.c | 4 ++-- > fs/erofs/data.c | 4 ++-- > fs/gfs2/aops.c | 4 ++-- > fs/iomap/buffered-io.c | 8 ++++++-- > fs/xfs/xfs_aops.c | 4 ++-- > fs/zonefs/file.c | 4 ++-- > include/linux/iomap.h | 4 ++-- > 7 files changed, 18 insertions(+), 14 deletions(-) > ... > int iomap_read_folio(struct folio *folio, const struct iomap_ops *ops, > - const struct iomap_read_ops *read_ops) > + const struct iomap_read_ops *read_ops, void *private) > { > struct iomap_iter iter = { > .inode = folio->mapping->host, > .pos = folio_pos(folio), > .len = folio_size(folio), > + .private = private, > }; Will this whole work be landed for v6.18? If not, may I ask if this patch can be shifted advance in this patchset for applying separately (I tried but no luck). Because I also need some similar approach for EROFS iomap page cache sharing feature since EROFS uncompressed I/Os go through iomap and extra information needs a proper way to pass down to iomap_{begin,end} with extra pointer `.private` too. Thanks, Gao Xiang