blk-mq: pair blk_mq_start_request / blk_mq_requeue_request
authorChristoph Hellwig <hch@infradead.org>
Tue, 18 Feb 2014 17:26:38 +0000 (09:26 -0800)
committerJens Axboe <axboe@fb.com>
Mon, 30 Mar 2015 18:54:42 +0000 (12:54 -0600)
commit73a2a29cb67107218707f645a401a446d8898ff5
tree8ba7e688fcd2979f4baa9e8fc82309a163a170bd
parent3088f6f93ebcc8294e659a485c08c788ffc7fe9c
blk-mq: pair blk_mq_start_request / blk_mq_requeue_request

Make sure we have a proper pairing between starting and requeueing
requests.  Move the dma drain and REQ_END setup into blk_mq_start_request,
and make sure blk_mq_requeue_request properly undoes them, giving us
a pair of function to prepare and unprepare a request without leaving
side effects.

Together this ensures we always clean up properly after
BLK_MQ_RQ_QUEUE_BUSY returns from ->queue_rq.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c