X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=block%2Fblk-mq-sched.c;h=fc64558241c90eb636866b744421514f4d5af8f7;hb=1bf7f1c641c7c83b9ed9099c5da4e6011e1664e2;hp=c117bd8fd1f6126849472300b3c294e65825a2f7;hpb=2db57789e6612ce0cf2fcbb577a1c8307b708566;p=mirror_ubuntu-bionic-kernel.git diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index c117bd8fd1f6..fc64558241c9 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -324,7 +324,8 @@ bool __blk_mq_sched_bio_merge(struct request_queue *q, struct bio *bio) return e->type->ops.mq.bio_merge(hctx, bio); } - if (hctx->flags & BLK_MQ_F_SHOULD_MERGE) { + if ((hctx->flags & BLK_MQ_F_SHOULD_MERGE) && + !list_empty_careful(&ctx->rq_list)) { /* default per sw-queue merge */ spin_lock(&ctx->lock); ret = blk_mq_attempt_merge(q, ctx, bio);