diff options
Diffstat (limited to 'block/blk-merge.c')
-rw-r--r-- | block/blk-merge.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/block/blk-merge.c b/block/blk-merge.c index fd3fee81c23c..30a0d9f89017 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c | |||
@@ -589,7 +589,8 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio) | |||
589 | !blk_write_same_mergeable(rq->bio, bio)) | 589 | !blk_write_same_mergeable(rq->bio, bio)) |
590 | return false; | 590 | return false; |
591 | 591 | ||
592 | if (q->queue_flags & (1 << QUEUE_FLAG_SG_GAPS)) { | 592 | /* Only check gaps if the bio carries data */ |
593 | if (q->queue_flags & (1 << QUEUE_FLAG_SG_GAPS) && bio_has_data(bio)) { | ||
593 | struct bio_vec *bprev; | 594 | struct bio_vec *bprev; |
594 | 595 | ||
595 | bprev = &rq->biotail->bi_io_vec[rq->biotail->bi_vcnt - 1]; | 596 | bprev = &rq->biotail->bi_io_vec[rq->biotail->bi_vcnt - 1]; |