diff options
author | Mike Snitzer <snitzer@redhat.com> | 2020-10-07 16:41:01 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2020-10-07 18:08:51 -0400 |
commit | 681cc5e8667e8579a2da8fa4090c48a2d73fc3bb (patch) | |
tree | b23bad8c9b8c4e9385462c1dd7b8cf43eecd5182 /block | |
parent | 9c37de297f6590937f95a28bec1b7ac68a38618f (diff) | |
download | lwn-681cc5e8667e8579a2da8fa4090c48a2d73fc3bb.tar.gz lwn-681cc5e8667e8579a2da8fa4090c48a2d73fc3bb.zip |
dm: fix request-based DM to not bounce through indirect dm_submit_bio
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>
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 176698b2285b..0191fc0447f7 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2265,7 +2265,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) |