dm: remove legacy request-based IO path
dm supports both, and since we're killing off the legacy path in general, get rid of it in dm. Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
@@ -1808,8 +1808,6 @@ static void dm_wq_work(struct work_struct *work);
|
||||
|
||||
static void dm_init_normal_md_queue(struct mapped_device *md)
|
||||
{
|
||||
md->use_blk_mq = false;
|
||||
|
||||
/*
|
||||
* Initialize aspects of queue that aren't relevant for blk-mq
|
||||
*/
|
||||
@@ -1820,8 +1818,6 @@ static void cleanup_mapped_device(struct mapped_device *md)
|
||||
{
|
||||
if (md->wq)
|
||||
destroy_workqueue(md->wq);
|
||||
if (md->kworker_task)
|
||||
kthread_stop(md->kworker_task);
|
||||
bioset_exit(&md->bs);
|
||||
bioset_exit(&md->io_bs);
|
||||
|
||||
@@ -1888,7 +1884,6 @@ static struct mapped_device *alloc_dev(int minor)
|
||||
goto bad_io_barrier;
|
||||
|
||||
md->numa_node_id = numa_node_id;
|
||||
md->use_blk_mq = dm_use_blk_mq_default();
|
||||
md->init_tio_pdu = false;
|
||||
md->type = DM_TYPE_NONE;
|
||||
mutex_init(&md->suspend_lock);
|
||||
@@ -1919,7 +1914,6 @@ static struct mapped_device *alloc_dev(int minor)
|
||||
INIT_WORK(&md->work, dm_wq_work);
|
||||
init_waitqueue_head(&md->eventq);
|
||||
init_completion(&md->kobj_holder.completion);
|
||||
md->kworker_task = NULL;
|
||||
|
||||
md->disk->major = _major;
|
||||
md->disk->first_minor = minor;
|
||||
@@ -2219,13 +2213,6 @@ int dm_setup_md_queue(struct mapped_device *md, struct dm_table *t)
|
||||
|
||||
switch (type) {
|
||||
case DM_TYPE_REQUEST_BASED:
|
||||
dm_init_normal_md_queue(md);
|
||||
r = dm_old_init_request_queue(md, t);
|
||||
if (r) {
|
||||
DMERR("Cannot initialize queue for request-based mapped device");
|
||||
return r;
|
||||
}
|
||||
break;
|
||||
case DM_TYPE_MQ_REQUEST_BASED:
|
||||
r = dm_mq_init_request_queue(md, t);
|
||||
if (r) {
|
||||
@@ -2331,9 +2318,6 @@ static void __dm_destroy(struct mapped_device *md, bool wait)
|
||||
|
||||
blk_set_queue_dying(md->queue);
|
||||
|
||||
if (dm_request_based(md) && md->kworker_task)
|
||||
kthread_flush_worker(&md->kworker);
|
||||
|
||||
/*
|
||||
* Take suspend_lock so that presuspend and postsuspend methods
|
||||
* do not race with internal suspend.
|
||||
@@ -2586,11 +2570,8 @@ static int __dm_suspend(struct mapped_device *md, struct dm_table *map,
|
||||
* Stop md->queue before flushing md->wq in case request-based
|
||||
* dm defers requests to md->wq from md->queue.
|
||||
*/
|
||||
if (dm_request_based(md)) {
|
||||
if (dm_request_based(md))
|
||||
dm_stop_queue(md->queue);
|
||||
if (md->kworker_task)
|
||||
kthread_flush_worker(&md->kworker);
|
||||
}
|
||||
|
||||
flush_workqueue(md->wq);
|
||||
|
||||
|
Reference in New Issue
Block a user