From: Jens Axboe Date: Wed, 28 Nov 2018 00:07:17 +0000 (-0700) Subject: blk-mq: fix failure to decrement plug count on single rq removal X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=4711b57317f0ff5ca9fbd5e2df6c73b2c07ddc53;p=openwrt%2Fstaging%2Fblogic.git blk-mq: fix failure to decrement plug count on single rq removal If we yank a 'same_queue_rq' request off the plug list, we should also decrement the cached request count. Fixes: 5f0ed774ed29 ("block: sum requests in the plug structure") Signed-off-by: Jens Axboe --- diff --git a/block/blk-mq.c b/block/blk-mq.c index 7b7dff85cf6c..a82830f39933 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1946,8 +1946,10 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio) */ if (list_empty(&plug->mq_list)) same_queue_rq = NULL; - if (same_queue_rq) + if (same_queue_rq) { list_del_init(&same_queue_rq->queuelist); + plug->rq_count--; + } list_add_tail(&rq->queuelist, &plug->mq_list); plug->rq_count++;