On Thu, Sep 11, 2025 at 7:13 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> > +static void iomap_read_folio_range_bio_async(const struct iomap_iter *iter,
> > + struct iomap_readpage_ctx *ctx, loff_t pos, size_t plen)
>
> The _async here feels very misplaced, because pretty much everyting in
> the area except for the odd write_begin helper is async, and the postfix
> does not match the method name.
>
> Also as a general discussion for naming, having common prefixed for sets
> of related helpers is nice. Maybe use iomap_bio_* for all the bio
> helpers were're adding here? We can then fix the direct I/O code to
> match that later.
Great point, I'll change this to "iomap_bio_read_folio_range()" for
the async version and then "iomap_bio_read_folio_range_sync()" for the
synchronous version.
>
> > {
> > + struct folio *folio = ctx->cur_folio;
> > const struct iomap *iomap = &iter->iomap;
> > - loff_t pos = iter->pos;
>
> Looking at the caller, it seems we should not need the pos argument if
> we adjust pos just after calculating count at the beginning of the loop.
> I think that would be a much better interface.
>
Sounds good, in that case I think we should do the same for the the
buffered writes ->read_folio_range() api later too then to have it
match
Thanks,
Joanne