On Fri, Aug 29, 2025 at 04:56:18PM -0700, Joanne Koong wrote: > Iterate through the entire folio in iomap_readpage_iter() in one go > instead of in pieces. Pieces I think here referes to the ranges returned by iomap_adjust_read_range? I.e. "iterate over all non-update ranges in a single call to iomap_readpage_iter instead of leaving the partial folio iteration to the caller"? > This will be needed for supporting user-provided > async read folio callbacks (not yet added). Can you explain why it needs that in a bit more detail here? > + /* > + * We should never in practice hit this case since > + * the iter length matches the readahead length. > + */ > + WARN_ON(!ctx->cur_folio); > + ctx->folio_unlocked = false; That should be a WARN_ON_ONCE. And probably return an error?