Thanks for doing this, Ming On Wed, Sep 05, 2018 at 11:33:35AM +0800, Ming Lei wrote: > It is pointed that bio_rewind_iter() is one very bad API[1]: > > 1) bio size may not be restored after rewinding > > 2) it causes some bogus change, such as 5151842b9d8732 (block: reset > bi_iter.bi_done after splitting bio) > > 3) rewinding really makes things complicated wrt. bio splitting > > 4) unnecessary updating of .bi_done in fast path > > [1] https://marc.info/?t=153549924200005&r=1&w=2 > > So this patch takes Kent's suggestion to restore one bio into its original > state via saving bio iterator(struct bvec_iter) in bio_integrity_prep(), > given now bio_rewind_iter() is only used by bio integrity code. > > Suggested-by: Kent Overstreet <[email protected]> > Cc: Kent Overstreet <[email protected]> > Cc: Dmitry Monakhov <[email protected]> > Cc: Christoph Hellwig <[email protected]> > Cc: Hannes Reinecke <[email protected]> > Signed-off-by: Ming Lei <[email protected]>
Acked-by: Kent Overstreet <[email protected]>
