| Date | Thu, 20 Sep 2012 17:35:23 -0700 | From | Tejun Heo <> | Subject | Re: [PATCH v2 20/26] block: Add bio_for_each_segment_all() |
| |
Hello,
On Mon, Sep 10, 2012 at 05:22:31PM -0700, Kent Overstreet wrote: > This is part of the immutable bvec prep work; bio_for_each_segment() is > going to have a different implementation so these need to be split > apart. > > This change is also to better document the intent of code that's using > it - bio_for_each_segment_all() is only legal to use for code that owns > the bio.
How about something like following?
__bio_for_each_segment() iterates bvecs from the specified index instead of bio->bv_idx. Currently, the only usage is to walk all the bvecs after the bio has been advanced by specifying 0 index.
To help immutable bvec implementation, replace it with bio_for_each_segment_all() which also better documents the intent of code that's using it. Note that bio_for_each_segment_all() should only be used by the code which owns the bio.
-- tejun
|