Re: [PATCH V11 12/19] block: allow bio_for_each_segment_all() to iterate over multi-page bvec

From: Ming Lei
Date: Thu Nov 22 2018 - 21:20:03 EST


On Thu, Nov 22, 2018 at 12:03:15PM +0100, Christoph Hellwig wrote:
> > +/* used for chunk_for_each_segment */
> > +static inline void bvec_next_segment(const struct bio_vec *bvec,
> > + struct bvec_iter_all *iter_all)
>
> FYI, chunk_for_each_segment doesn't exist anymore, this is
> bvec_for_each_segment now. Not sure the comment helps much, though.

OK, will remove the comment.

>
> > +{
> > + struct bio_vec *bv = &iter_all->bv;
> > +
> > + if (bv->bv_page) {
> > + bv->bv_page += 1;
>
> I think this needs to use nth_page() given that with discontigmem
> page structures might not be allocated contigously.

Good catch!

Thanks,
Ming