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. > +#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
Attachment:
signature.asc
Description: PGP signature