[2/2] block: avoid setting none scheduler if it's already none
diff mbox series

Message ID 20190222130735.10669-3-kai.heng.feng@canonical.com
State New
Headers show
Series
  • [1/2] block: avoid setting nr_requests to current value
Related show

Commit Message

Kai-Heng Feng Feb. 22, 2019, 1:07 p.m. UTC
From: Aleksei Zakharov <zakharov.a.g@yandex.ru>

BugLink: https://bugs.launchpad.net/bugs/1815733

There's no reason to freeze queue and remove scheduler
if there's no scheduler already.

Signed-off-by: Aleksei Zakharov <zakharov.a.g@yandex.ru>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit fbd72127c975dc8e532ecc73d52f3b1b00935bec linux-next)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 block/elevator.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/block/elevator.c b/block/elevator.c
index f05e90d4e695..d6d835a08de6 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -667,8 +667,11 @@  static int __elevator_change(struct request_queue *q, const char *name)
 	/*
 	 * Special case for mq, turn off scheduling
 	 */
-	if (!strncmp(name, "none", 4))
+	if (!strncmp(name, "none", 4)) {
+		if (!q->elevator)
+			return 0;
 		return elevator_switch(q, NULL);
+	}
 
 	strlcpy(elevator_name, name, sizeof(elevator_name));
 	e = elevator_get(q, strstrip(elevator_name), true);