diff options
author | Mike Snitzer <snitzer@redhat.com> | 2020-10-07 16:41:01 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-10-29 10:11:35 +0100 |
commit | cf5de1f99e7d419f9187688a082a4fd98d2cac56 (patch) | |
tree | ce0a72032d36f7dfc56abd2e06efefcc8680ebe4 /block | |
parent | 218561509bdd6cb252743ec644b33185d192ecf5 (diff) |
dm: fix request-based DM to not bounce through indirect dm_submit_bio
[ Upstream commit 681cc5e8667e8579a2da8fa4090c48a2d73fc3bb ]
It is unnecessary to force request-based DM to call into bio-based
dm_submit_bio (via indirect disk->fops->submit_bio) only to have it then
call blk_mq_submit_bio().
Fix this by establishing a request-based DM block_device_operations
(dm_rq_blk_dops, which doesn't have .submit_bio) and update
dm_setup_md_queue() to set md->disk->fops to it for
DM_TYPE_REQUEST_BASED.
Remove DM_TYPE_REQUEST_BASED conditional in dm_submit_bio and unexport
blk_mq_submit_bio.
Fixes: c62b37d96b6eb ("block: move ->make_request_fn to struct block_device_operations")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index cdced4aca2e8..c27a61029cdd 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2264,7 +2264,6 @@ queue_exit: blk_queue_exit(q); return BLK_QC_T_NONE; } -EXPORT_SYMBOL_GPL(blk_mq_submit_bio); /* only for request based dm */ void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags, unsigned int hctx_idx) |