Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit beefa6ba authored by Jens Axboe's avatar Jens Axboe
Browse files

block: only honor SG gap prevention for merges that contain data



We can safely merge anything that wont generate an SG list entry,
so if the bio is data-less (discard), don't look at potential
SG gaps.

Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent f6454b04
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -589,7 +589,8 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio)
	    !blk_write_same_mergeable(rq->bio, bio))
		return false;

	if (q->queue_flags & (1 << QUEUE_FLAG_SG_GAPS)) {
	/* Only check gaps if the bio carries data */
	if (q->queue_flags & (1 << QUEUE_FLAG_SG_GAPS) && bio_has_data(bio)) {
		struct bio_vec *bprev;

		bprev = &rq->biotail->bi_io_vec[rq->biotail->bi_vcnt - 1];