Re: [PATCH V6 13/30] block: introduce rq_for_each_chunk()

Ming Lei
2018-06-14T01:52:43Z

On Wed, Jun 13, 2018 at 07:48:18AM -0700, Christoph Hellwig wrote:
> On Sat, Jun 09, 2018 at 08:29:57PM +0800, Ming Lei wrote:
> > There are still cases in which rq_for_each_chunk() is required, for
> > example, loop.
> >
> > Signed-off-by: Ming Lei <ming.lei@redhat.com>
> > ---
> > include/linux/blkdev.h | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> > index bca3a92eb55f..4eaba73c784a 100644
> > --- a/include/linux/blkdev.h
> > +++ b/include/linux/blkdev.h
> > @@ -941,6 +941,10 @@ struct req_iterator {
> > __rq_for_each_bio(_iter.bio, _rq) \
> > bio_for_each_segment(bvl, _iter.bio, _iter.iter)
> >
> > +#define rq_for_each_chunk(bvl, _rq, _iter) \
> > + __rq_for_each_bio(_iter.bio, _rq) \
> > + bio_for_each_chunk(bvl, _iter.bio, _iter.iter)
>
> We have a single users of this in the loop driver. I'd rather
> see the obvious loop open coded.

OK.

Thanks,
Ming