]> git.baikalelectronics.ru Git - kernel.git/commit
dm: requeue from blk-mq dm_mq_queue_rq() using BLK_MQ_RQ_QUEUE_BUSY
authorMike Snitzer <snitzer@redhat.com>
Wed, 27 May 2015 19:25:27 +0000 (15:25 -0400)
committerMike Snitzer <snitzer@redhat.com>
Wed, 27 May 2015 21:37:23 +0000 (17:37 -0400)
commitbc9a4a2d756e64b16045872b13d7b3f590c15442
tree7bebdecc13511fc03de8b4d08e98d967c45d5d3b
parent5d1c4a8631e6d0e1302488a146df1b6400f38770
dm: requeue from blk-mq dm_mq_queue_rq() using BLK_MQ_RQ_QUEUE_BUSY

Use BLK_MQ_RQ_QUEUE_BUSY to requeue a blk-mq request directly from the
DM blk-mq device's .queue_rq.  This cleans up the previous convoluted
handling of request requeueing that would return BLK_MQ_RQ_QUEUE_OK
(even though it wasn't) and then run blk_mq_requeue_request() followed
by blk_mq_kick_requeue_list().

Also, document that DM blk-mq ontop of old request_fn devices cannot
fail in clone_rq() since the clone request is preallocated as part of
the pdu.

Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm.c