Commit dd1c372d authored by Yufen Yu's avatar Yufen Yu Committed by Jens Axboe
Browse files

block: invoke blk_mq_exit_sched no matter whether have .exit_sched



We will register debugfs for scheduler no matter whether it have
defined callback funciton .exit_sched. So, blk_mq_exit_sched()
is always needed to unregister debugfs. Also, q->elevator should
be set as NULL after exiting scheduler.

For now, since all register scheduler have defined .exit_sched,
it will not cause any actual problem. But It will be more reasonable
to do this change.

Signed-off-by: default avatarYufen Yu <yuyufen@huawei.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 7ea6bf2e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -740,7 +740,6 @@ static void blk_exit_queue(struct request_queue *q)
	if (q->elevator) {
		ioc_clear_queue(q);
		__elevator_exit(q, q->elevator);
		q->elevator = NULL;
	}

	/*
+1 −2
Original line number Diff line number Diff line
@@ -191,7 +191,6 @@ static void elevator_release(struct kobject *kobj)
void __elevator_exit(struct request_queue *q, struct elevator_queue *e)
{
	mutex_lock(&e->sysfs_lock);
	if (e->type->ops.exit_sched)
	blk_mq_exit_sched(q, e);
	mutex_unlock(&e->sysfs_lock);