Use KDUMP_COMMANDLINE_REMOVE config instead of hardcode them in
kdumpctl. System admins can also specify what to remove as they like.
This patch also adds backward compatibility even if an old config is
used.
Signed-off-by: Dangyi Liu <dliu(a)redhat.com>
---
Changes:
v1 -> v2: Add compatibility; describle the order to process cmdline
kdump.sysconfig | 6 +++++-
kdump.sysconfig.i386 | 6 +++++-
kdump.sysconfig.ppc64 | 6 +++++-
kdump.sysconfig.ppc64le | 6 +++++-
kdump.sysconfig.s390x | 6 +++++-
kdump.sysconfig.x86_64 | 6 +++++-
kdumpctl | 6 ++++--
7 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/kdump.sysconfig b/kdump.sysconfig
index effe466..6672471 100644
--- a/kdump.sysconfig
+++ b/kdump.sysconfig
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices"
# Any additional kexec arguments required. In most situations, this should
diff --git a/kdump.sysconfig.i386 b/kdump.sysconfig.i386
index bb7a6e5..87a3a2a 100644
--- a/kdump.sysconfig.i386
+++ b/kdump.sysconfig.i386
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices numa=off udev.children-max=2 panic=10 rootflags=nofail transparent_hugepage=never"
# Any additional kexec arguments required. In most situations, this should
diff --git a/kdump.sysconfig.ppc64 b/kdump.sysconfig.ppc64
index dd09598..44eb188 100644
--- a/kdump.sysconfig.ppc64
+++ b/kdump.sysconfig.ppc64
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 noirqdistrib reset_devices cgroup_disable=memory numa=off udev.children-max=2 ehea.use_mcs=0 panic=10 rootflags=nofail kvm_cma_resv_ratio=0 transparent_hugepage=never"
# Any additional kexec arguments required. In most situations, this should
diff --git a/kdump.sysconfig.ppc64le b/kdump.sysconfig.ppc64le
index dd09598..44eb188 100644
--- a/kdump.sysconfig.ppc64le
+++ b/kdump.sysconfig.ppc64le
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 noirqdistrib reset_devices cgroup_disable=memory numa=off udev.children-max=2 ehea.use_mcs=0 panic=10 rootflags=nofail kvm_cma_resv_ratio=0 transparent_hugepage=never"
# Any additional kexec arguments required. In most situations, this should
diff --git a/kdump.sysconfig.s390x b/kdump.sysconfig.s390x
index b103a88..1092520 100644
--- a/kdump.sysconfig.s390x
+++ b/kdump.sysconfig.s390x
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="nr_cpus=1 cgroup_disable=memory numa=off udev.children-max=2 panic=10 rootflags=nofail transparent_hugepage=never"
# Any additional /sbin/mkdumprd arguments required.
diff --git a/kdump.sysconfig.x86_64 b/kdump.sysconfig.x86_64
index 7991d68..9ef305a 100644
--- a/kdump.sysconfig.x86_64
+++ b/kdump.sysconfig.x86_64
@@ -14,8 +14,12 @@ KDUMP_KERNELVER=""
# /proc/cmdline
KDUMP_COMMANDLINE=""
+# This variable lets us remove arguments from the current kdump commandline
+# as taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
# This variable lets us append arguments to the current kdump commandline
-# As taken from either KDUMP_COMMANDLINE above, or from /proc/cmdline
+# after processed by KDUMP_COMMANDLINE_REMOVE
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never"
# Any additional kexec arguments required. In most situations, this should
diff --git a/kdumpctl b/kdumpctl
index 9f7e56b..dbb6d7f 100755
--- a/kdumpctl
+++ b/kdumpctl
@@ -19,6 +19,9 @@ DEFAULT_DUMP_MODE="kdump"
standard_kexec_args="-p"
+# Some default values in case /etc/sysconfig/kdump doesn't exist
+KDUMP_COMMANDLINE_REMOVE="crashkernel hugepages hugepagesz panic_on_warn slub_debug"
+
if [ -f /etc/sysconfig/kdump ]; then
. /etc/sysconfig/kdump
fi
@@ -105,8 +108,7 @@ prepare_cmdline()
else
cmdline=${KDUMP_COMMANDLINE}
fi
- cmdline=`remove_cmdline_param "$cmdline" crashkernel hugepages hugepagesz panic_on_warn slub_debug`
-
+ cmdline=`remove_cmdline_param "$cmdline" ${KDUMP_COMMANDLINE_REMOVE}`
cmdline="${cmdline} ${KDUMP_COMMANDLINE_APPEND}"
--
2.4.3