Re: [PATCH 45/60] block: bio: introduce bio_for_each_segment_all_rd() and its write pair
From: Ming Lei <tom.leiming@gmail.com>
Date: 2016-10-31 22:46:19
Also in:
linux-fsdevel, lkml
On Mon, Oct 31, 2016 at 9:59 PM, Theodore Ts'o [off-list ref] wrote:
On Sat, Oct 29, 2016 at 04:08:44PM +0800, Ming Lei wrote:quoted
This patches introduce bio_for_each_segment_all_rd() and bio_for_each_segment_all_wt(). bio_for_each_segment_all_rd() is for replacing bio_for_each_segment_all() in case the bvec from bio->bi_io_vec is accessed as readonly. bio_for_each_segment_all_wt() is for replacing bio_for_each_segment_all() in case the bvec from bio->bi_io_vec need to be updated.What is _rd and _wt supposed to stand for? And speaking more
As Christoph replied, _rd means read, which said the bvec pointed by the iterator variable(bvec pointer) is read-only, and the bvec table can't be written into via this usage any more. Maybe bio_for_each_segment_all_ro is better? On the other hand, _wr meands write, which said the bvec pointed by the iterator variable(bvec pointer) can be written to. Maybe we can use original bio_for_each_segment_all() for it?
generally, could you write up some more detailed notes about all of the various new functions they have been added, when they should be used, and some kind of roadmap about how things are supposed to work beyond the very high-level description in the introduction in your patch series? Ideally it would go into the Documentation directory, so that after this patch set gets applied, people will be able to refer to it to understand how things are supposed to work.
In the next post, I will add comment on the two helpers, thanks for your review. Thanks, Ming
Thanks!!
- Ted-- Ming Lei