diff options
author | Christoph Hellwig <hch@infradead.org> | 2014-02-10 03:24:38 -0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-02-10 09:27:31 -0700 |
commit | 30a91cb4ef385fe1b260df204ef314d86fff2850 (patch) | |
tree | 97ecc925cb7868f456d5dd3219980be5dc01d900 /block/blk-mq.h | |
parent | c4540a7d8c1e595560e53acedf88901daf15a2b5 (diff) | |
download | lwn-30a91cb4ef385fe1b260df204ef314d86fff2850.tar.gz lwn-30a91cb4ef385fe1b260df204ef314d86fff2850.zip |
blk-mq: rework I/O completions
Rework I/O completions to work more like the old code path. blk_mq_end_io
now stays out of the business of deferring completions to others CPUs
and calling blk_mark_rq_complete. The latter is very important to allow
completing requests that have timed out and thus are already marked completed,
the former allows using the IPI callout even for driver specific completions
instead of having to reimplement them.
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 | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/block/blk-mq.h b/block/blk-mq.h index 5c3917984b00..f29b645f0e1c 100644 --- a/block/blk-mq.h +++ b/block/blk-mq.h @@ -22,8 +22,7 @@ struct blk_mq_ctx { struct kobject kobj; }; -void __blk_mq_end_io(struct request *rq, int error); -void blk_mq_complete_request(struct request *rq, int error); +void __blk_mq_complete_request(struct request *rq); void blk_mq_run_request(struct request *rq, bool run_queue, bool async); void blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async); void blk_mq_init_flush(struct request_queue *q); |