blk_mq_requeue_request() should kick off the requeue list so that the request can be scheduled to queue finally.
In nvme conversion patch, blk_mq_requeue_request() is called to requeue failed request from completion handler, this patch fixes the issue and makes the block API working as expected. Cc: Matias Bjørling <m...@bjorling.me> Cc: Christoph Hellwig <h...@lst.de> Signed-off-by: Ming Lei <tom.leim...@gmail.com> --- block/blk-mq.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index cb4c785..4c78539 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -462,6 +462,7 @@ void blk_mq_requeue_request(struct request *rq) BUG_ON(blk_queued_rq(rq)); blk_mq_add_to_requeue_list(rq, true); + blk_mq_kick_requeue_list(rq->q); } EXPORT_SYMBOL(blk_mq_requeue_request); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/