Hi Shaohua, On Wed, Mar 1, 2017 at 7:42 AM, Shaohua Li <s...@kernel.org> wrote: > On Tue, Feb 28, 2017 at 11:41:39PM +0800, Ming Lei wrote: >> Use this helper, instead of direct access to .bi_vcnt. > > what We really need to do for the behind IO is: > - allocate memory and copy bio data to the memory > - let behind bio do IO against the memory > > The behind bio doesn't need to have the exactly same bio_vec setting. If we > just track the new memory, we don't need use the bio_segments_all and access > bio_vec too.
But we need to figure out how many vecs(each vec store one page) to be allocated for the cloned/behind bio, and that is the only value of bio_segments_all() here. Or you have idea to avoid that? Thanks, Ming