On Fri, Aug 29, 2025 at 6:54 PM Gao Xiang <xiang@xxxxxxxxxx> wrote: > > 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. Hi Gao, I'm not sure whether this will be landed for v6.18 but I'm happy to shift this patch to the beginning of the patchset for applying separately. Thanks, Joanne > > Thanks, > Gao Xiang