summaryrefslogtreecommitdiff
path: root/rules-add-elevator-kernel-command-line-parameter.patch
diff options
context:
space:
mode:
Diffstat (limited to 'rules-add-elevator-kernel-command-line-parameter.patch')
-rw-r--r--rules-add-elevator-kernel-command-line-parameter.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/rules-add-elevator-kernel-command-line-parameter.patch b/rules-add-elevator-kernel-command-line-parameter.patch
new file mode 100644
index 0000000..4e5f126
--- /dev/null
+++ b/rules-add-elevator-kernel-command-line-parameter.patch
@@ -0,0 +1,42 @@
+From 1255584bb0a595fb555af7e14230ab1b7aa6adcd Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn@redhat.com>
+Date: Tue, 12 Feb 2019 16:58:16 +0100
+Subject: [PATCH] rules: add elevator= kernel command line parameter
+
+Kernel removed the elevator= option
+
+Resolves: #1670126
+---
+ rules.d/40-elevator.rules | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+ create mode 100644 rules.d/40-elevator.rules
+
+diff --git a/rules.d/40-elevator.rules b/rules.d/40-elevator.rules
+new file mode 100644
+index 0000000000..5f615bf51a
+--- /dev/null
++++ b/rules.d/40-elevator.rules
+@@ -0,0 +1,20 @@
++# We aren't adding devices skip the elevator check
++ACTION!="add", GOTO="sched_out"
++
++SUBSYSTEM!="block", GOTO="sched_out"
++ENV{DEVTYPE}!="disk", GOTO="sched_out"
++
++# Technically, dm-multipath can be configured to use an I/O scheduler.
++# However, there are races between the 'add' uevent and the linking in
++# of the queue/scheduler sysfs file. For now, just skip dm- devices.
++KERNEL=="dm-*|md*", GOTO="sched_out"
++
++# Skip bio-based devices, which don't support an I/O scheduler.
++ATTR{queue/scheduler}=="none", GOTO="sched_out"
++
++# If elevator= is specified on the kernel command line, change the
++# scheduler to the one specified.
++IMPORT{cmdline}="elevator"
++ENV{elevator}!="", ATTR{queue/scheduler}="$env{elevator}"
++
++LABEL="sched_out"
+--
+2.23.0
+