On Mon, Jun 09, 2025 at 02:45:34PM -0700, Joanne Koong wrote: > IOMAP_INLINE is the closest in idea to what I'm looking for in that > it's completely independent from block io, but it falls short in a few > ways (described in the reply to Darrick in [1]). In terms of > implementation logic, IOMAP_MAPPED fits great but that's tied in idea > to mapped blocks and we'd be unable to make certain assertions (eg if > the iomap type doesn't use bios, the caller must provide > ->read_folio_sync() and ->writeback_folio() callbacks). Well, IFF we end up with both my proposals those two are the clean abstractions between the generic and block-level code and everyone is using them. Let's see how that plays out. I'd rather have a strong abstraction like that if we can and not add new types for what is essentially the same. Btw, for zoned XFS, IOMAP_MAPPED also doesn't have a block number assigned yet and only actually does the I/O in the submit_ioend method.