On Wed, Nov 22, 2023 at 06:28:13PM -0500, Kent Overstreet wrote: > This patch reworks bio_for_each_segment_all() to be more inline with how > the other bio iterators work: > > - bio_iter_all_peek() now returns a synthesized bio_vec; we don't stash > one in the iterator and pass a pointer to it - bad. This way makes it > clearer what's a constructed value vs. a reference to something > pre-existing, and it also will help with cleaning up and > consolidating code with bio_for_each_folio_all(). > > - We now provide bio_for_each_segment_all_continue(), for squashfs: > this makes their code clearer. > > Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> > Cc: Jens Axboe <axboe@xxxxxxxxx> > Cc: linux-block@xxxxxxxxxxxxxxx > Cc: Ming Lei <ming.lei@xxxxxxxxxx> > Cc: Phillip Lougher <phillip@xxxxxxxxxxxxxxx> > Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> The original way was just for avoiding tree-wide change and keep bvec pointer, and peek & advance is more cleaner, for the block layer change: Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx> thanks, Ming