Re: [PATCH 4.19 01/16] block: introduce multi-page bvec helpers

From: Pavel Machek
Date: Thu Nov 11 2021 - 11:47:59 EST


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