On Thu, Nov 11, 2021 at 05:47:54PM +0100, Pavel Machek wrote: > Hi! > > > From: Ming Lei <ming.lei@xxxxxxxxxx> > > > > commit 3d75ca0adef4280650c6690a0c4702a74a6f3c95 upstream. > > > > This patch introduces helpers of 'mp_bvec_iter_*' for multi-page bvec > > support. > > > > The introduced helpers treate one bvec as real multi-page segment, > > which may include more than one pages. > > > > The existed helpers of bvec_iter_* are interfaces for supporting current > > bvec iterator which is thought as single-page by drivers, fs, dm and > > etc. These introduced helpers will build single-page bvec in flight, so > > this way won't break current bio/bvec users, which needn't any > > change. > > I don't understand why we have this in 4.19-stable. I don't see > followup patches needing it, and it does not claim to fix a bug. There is some more context on this at: https://lore.kernel.org/linux-block/YXweJ00CVsDLCI7b@xxxxxxxxxx/T/#u and https://lore.kernel.org/stable/YYVZBuDaWBKT3vOS@xxxxxxxxxx/T/#u Thanks, - Zubin > > > +#define mp_bvec_iter_bvec(bvec, iter) \ > > +((struct bio_vec) { \ > > + .bv_page = mp_bvec_iter_page((bvec), (iter)), \ > > + .bv_len = mp_bvec_iter_len((bvec), (iter)), \ > > + .bv_offset = mp_bvec_iter_offset((bvec), (iter)), \ > > +}) > > + > > +/* For building single-page bvec in flight */ > > + #define bvec_iter_offset(bvec, iter) \ > > + (mp_bvec_iter_offset((bvec), (iter)) % PAGE_SIZE) > > + > > Plus this one is strange. IIRC preprocessor directives have to put # > in column zero? > > Best regards, > Pavel > -- > http://www.livejournal.com/~pavelmachek