Message ID | 1487950971-1131-2-git-send-email-tom.leiming@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> +static inline unsigned bio_segments_all(struct bio *bio) > +{ > + WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED)); > + > + return bio->bi_vcnt; > +} I don't think this helpers really adds any benefit.
On Sun, Feb 26, 2017 at 2:22 AM, Christoph Hellwig <hch@infradead.org> wrote: >> +static inline unsigned bio_segments_all(struct bio *bio) >> +{ >> + WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED)); >> + >> + return bio->bi_vcnt; >> +} > > I don't think this helpers really adds any benefit. IMO the first benefit is that misusing of .bi_vcnt can be warned, and another one is that we have to introduce this helper if multipage bvec is supported. Thanks, Ming Lei
diff --git a/include/linux/bio.h b/include/linux/bio.h index 8e521194f6fc..3364b3ed90e7 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -293,6 +293,13 @@ static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv) bv->bv_len = iter.bi_bvec_done; } +static inline unsigned bio_segments_all(struct bio *bio) +{ + WARN_ON_ONCE(bio_flagged(bio, BIO_CLONED)); + + return bio->bi_vcnt; +} + enum bip_flags { BIP_BLOCK_INTEGRITY = 1 << 0, /* block layer owns integrity data */ BIP_MAPPED_INTEGRITY = 1 << 1, /* ref tag has been remapped */
So that we can replace the direct access to .bi_vcnt. Signed-off-by: Ming Lei <tom.leiming@gmail.com> --- include/linux/bio.h | 7 +++++++ 1 file changed, 7 insertions(+)