blk-mq: pair blk_mq_start_request / blk_mq_requeue_request
authorChristoph Hellwig <hch@infradead.org>
Tue, 11 Feb 2014 16:27:14 +0000 (08:27 -0800)
committerJens Axboe <axboe@fb.com>
Tue, 11 Feb 2014 16:34:08 +0000 (09:34 -0700)
commit49f5baa5109897b8cee491e8a7c4d74052b6bc1e
tree9e0cf5285be207bde015af948e8fd7b89760ffcd
parent1e93b8c274268038c93763dca65a73b42a081e10
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