Messages in this thread | | | Subject | Re: [PATCH 1/4] block: bio: introduce helpers to get the 1st and last bvec | From | Sagi Grimberg <> | Date | Mon, 15 Feb 2016 10:19:49 +0200 |
| |
> +/* > + * bio_get_last_bvec() is introduced to get the last bvec of one > + * bio for bio_will_gap(). > + * > + * TODO: make it more efficient. > + */ > +static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv) > +{ > + struct bvec_iter iter; > + > + bio_for_each_segment(*bv, bio, iter) > + if (bv->bv_len == iter.bi_size) > + break; > +}
This helper is used for each req/bio once or more. I'd say it's critical to make it efficient and not settle for a quick bail for drivers that don't have a virt_boundary like you did in patch #2.
However, given that it's a regression bug fix I'm not sure it's the best idea to add logic here.
| |