diff options
author | Christoph Hellwig <hch@lst.de> | 2014-04-14 10:30:08 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-04-15 22:03:02 +0200 |
commit | 8727af4b9d45c7503042e3fbd926c1a173876e9c (patch) | |
tree | e6f2d8b7d9808cfbfb0b67a088b182776518a797 /block/blk-mq.h | |
parent | blk-mq: do not initialize req->special (diff) | |
download | linux-8727af4b9d45c7503042e3fbd926c1a173876e9c.tar.xz linux-8727af4b9d45c7503042e3fbd926c1a173876e9c.zip |
blk-mq: make ->flush_rq fully transparent to drivers
Drivers shouldn't have to care about the block layer setting aside a
request to implement the flush state machine. We already override the
mq context and tag to make it more transparent, but so far haven't deal
with the driver private data in the request. Make sure to override this
as well, and while we're at it add a proper helper sitting in blk-mq.c
that implements the full impersonation.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-mq.h')
-rw-r--r-- | block/blk-mq.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-mq.h b/block/blk-mq.h index 238379a612e4..7964dadb7d64 100644 --- a/block/blk-mq.h +++ b/block/blk-mq.h @@ -27,6 +27,8 @@ void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); void blk_mq_init_flush(struct request_queue *q); void blk_mq_drain_queue(struct request_queue *q); void blk_mq_free_queue(struct request_queue *q); +void blk_mq_clone_flush_request(struct request *flush_rq, + struct request *orig_rq); /* * CPU hotplug helpers |