From: Ming Lei Date: Fri, 11 Nov 2016 12:05:36 +0000 (+0800) Subject: dm rq: replace 'bio->bi_vcnt == 1' with !bio_multiple_segments X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4f9c74c6043891d415730bcb153c579be35c352f;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git dm rq: replace 'bio->bi_vcnt == 1' with !bio_multiple_segments Avoid accessing .bi_vcnt directly, because the bio can be split from block layer and .bi_vcnt should never have been used here. Signed-off-by: Ming Lei Signed-off-by: Mike Snitzer --- diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c index 31a89c8832c0..54b081588b55 100644 --- a/drivers/md/dm-rq.c +++ b/drivers/md/dm-rq.c @@ -825,7 +825,7 @@ static void dm_old_request_fn(struct request_queue *q) pos = blk_rq_pos(rq); if ((dm_old_request_peeked_before_merge_deadline(md) && - md_in_flight(md) && rq->bio && rq->bio->bi_vcnt == 1 && + md_in_flight(md) && rq->bio && !bio_multiple_segments(rq->bio) && md->last_rq_pos == pos && md->last_rq_rw == rq_data_dir(rq)) || (ti->type->busy && ti->type->busy(ti))) { blk_delay_queue(q, 10);