From 92f399c72af2d8cbb9d4f60e11d0d67ca738147f Mon Sep 17 00:00:00 2001 From: Shaohua Li Date: Tue, 29 Oct 2013 12:01:03 -0600 Subject: blk-mq: mq plug list breakage We switched to plug mq_list for mq, but some code are still using old list. Signed-off-by: Shaohua Li Signed-off-by: Jens Axboe --- block/blk-core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'block/blk-core.c') diff --git a/block/blk-core.c b/block/blk-core.c index 9677c6525ed8..936876ab662d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1401,13 +1401,19 @@ bool blk_attempt_plug_merge(struct request_queue *q, struct bio *bio, struct blk_plug *plug; struct request *rq; bool ret = false; + struct list_head *plug_list; plug = current->plug; if (!plug) goto out; *request_count = 0; - list_for_each_entry_reverse(rq, &plug->list, queuelist) { + if (q->mq_ops) + plug_list = &plug->mq_list; + else + plug_list = &plug->list; + + list_for_each_entry_reverse(rq, plug_list, queuelist) { int el_ret; if (rq->q == q) -- cgit v1.2.3