On Wed, Nov 20, 2024 at 12:37:41AM -0800, Christoph Hellwig wrote: > On Tue, Nov 19, 2024 at 10:46:52AM -0500, Brian Foster wrote: > > I thought about using ->private along with a custom ->get_folio(), but I > > don't think that really fits the idea of a built-in mechanism. It might > > be more appropriate to attach to the iter, but that currently isn't > > accessible to ->iomap_begin(). I suppose we could define an > > iomap_to_iter() or some such helper that the fill helper could use to > > populate the batch, but maybe there are other thoughts/ideas? > > The iter is the right place, and you can get at it using > container_of as already done by btrfs (and osme of my upcoming code): > > struct iomap_iter *iter = container_of(iomap, struct iomap_iter, iomap); > > Ok, yeah.. that's pretty much what I meant by having an iomap_to_iter() helper, I just wasn't aware that some things were already doing that to poke at the iter. Thanks. I'm assuming we'd want this to be a dynamic allocation as well, since folio_batch is fairly large in comparison (256b compared to 208b iomap_iter). Brian