From 4711b57317f0ff5ca9fbd5e2df6c73b2c07ddc53 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 27 Nov 2018 17:07:17 -0700 Subject: 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 --- block/blk-mq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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++; -- cgit v1.2.3