On Mon, Jan 21, 2019 at 01:43:21AM -0800, Sagi Grimberg wrote: > > > V14: > > - drop patch(patch 4 in V13) for renaming bvec helpers, as suggested by Jens > > - use mp_bvec_* as multi-page bvec helper name > > - fix one build issue, which is caused by missing one converion of > > bio_for_each_segment_all in fs/gfs2 > > - fix one 32bit ARCH specific issue caused by segment boundary mask > > overflow > > Hey Ming, > > So is nvme-tcp also affected here? The only point where I see nvme-tcp > can be affected is when initializing a bvec iter using bio_segments() as > everywhere else we use iters which should transparently work.. > > I see that loop was converted, does it mean that nvme-tcp needs to > call something like? > -- > bio_for_each_mp_bvec(bv, bio, iter) > nr_bvecs++; bio_for_each_segment()/bio_segments() still works, just not as efficient as bio_for_each_mp_bvec() given each multi-page bvec(very similar with scatterlist) is returned in each loop. I don't look at nvme-tcp code yet. But if nvme-tcp supports this way, it can benefit from bio_for_each_mp_bvec(). Thanks, Ming