On Tue, Sep 2, 2025 at 6:55 PM Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx> wrote: > > On 2025/9/3 05:24, Joanne Koong wrote: > > 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. > > Yeah, thanks. At least this common patch can be potentially applied > easily (e.g. form a common commit id for both features if really > needed) since other iomap/FUSE patches are not dependency of our new > feature and shouldn't be coupled with our development branch later. > Hi Gao, I'll be dropping this patch in v2 since all the iomap read stuff is going to go through a struct ctx arg instead of through iter->private. Sorry this won't help your use case, but looking forward to seeing your patches. Thanks, Joanne > Thanks, > Gao Xiang > > > > > Thanks, > > Joanne > >> > >> Thanks, > >> Gao Xiang >