summaryrefslogtreecommitdiffstats
path: root/block/blk-merge.c
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2019-03-17 06:01:05 -0400
committerJens Axboe <axboe@kernel.dk>2019-04-01 14:11:21 -0400
commitfd7d8d4232f08b0df623d9ea7e941f0350a26e14 (patch)
tree859fc1781425f2abeb39447c77081e73c99b37a6 /block/blk-merge.c
parentdb5ebd6edd2627d7e81a031643cf43587f63e66c (diff)
block: don't merge adjacent bvecs to one segment in bio blk_queue_split
For normal filesystem IO, each page is added via blk_add_page(), in which bvec(page) merge has been handled already, and basically not possible to merge two adjacent bvecs in one bio. So not try to merge two adjacent bvecs in blk_queue_split(). Cc: Omar Sandoval <osandov@fb.com> Cc: Christoph Hellwig <hch@lst.de> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-merge.c')
-rw-r--r--block/blk-merge.c17
1 files changed, 0 insertions, 17 deletions
diff --git a/block/blk-merge.c b/block/blk-merge.c
index 1c9d4f0f96ea..aa9164eb7187 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -267,23 +267,6 @@ static struct bio *blk_bio_segment_split(struct request_queue *q,
267 goto split; 267 goto split;
268 } 268 }
269 269
270 if (bvprvp) {
271 if (seg_size + bv.bv_len > queue_max_segment_size(q))
272 goto new_segment;
273 if (!biovec_phys_mergeable(q, bvprvp, &bv))
274 goto new_segment;
275
276 seg_size += bv.bv_len;
277 bvprv = bv;
278 bvprvp = &bvprv;
279 sectors += bv.bv_len >> 9;
280
281 if (nsegs == 1 && seg_size > front_seg_size)
282 front_seg_size = seg_size;
283
284 continue;
285 }
286new_segment:
287 if (nsegs == max_segs) 270 if (nsegs == max_segs)
288 goto split; 271 goto split;
289 272