blk-mq: actually hook up defer list when running requests
authorOmar Sandoval <osandov@fb.com>
Thu, 9 Jun 2016 01:22:20 +0000 (18:22 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Oct 2016 13:23:44 +0000 (15:23 +0200)
commit4042db311c0fc3ebea3f85e39adba70ef01d5756
treee6d872a66ed0c246732a6720b5d9c89324156722
parent0e13a4948cbf910cf87f14331017adade75f7dd6
blk-mq: actually hook up defer list when running requests

commit 52b9c330c6a8a4b5a1819bdaddf4ec76ab571e81 upstream.

If ->queue_rq() returns BLK_MQ_RQ_QUEUE_OK, we use continue and skip
over the rest of the loop body. However, dptr is assigned later in the
loop body, and the BLK_MQ_RQ_QUEUE_OK case is exactly the case that we'd
want it for.

NVMe isn't actually using BLK_MQ_F_DEFER_ISSUE yet, nor is any other
in-tree driver, but if the code's going to be there, it might as well
work.

Fixes: 74c450521dd8 ("blk-mq: add a 'list' parameter to ->queue_rq()")
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/blk-mq.c