adad6c
From df58ab6257ff2c688432d3cde159538419f85769 Mon Sep 17 00:00:00 2001
adad6c
From: Ziyue Yang <ziyang@redhat.com>
adad6c
Date: Wed, 23 Aug 2017 11:23:34 +0800
adad6c
Subject: [PATCH] dracut.sh: disable lsinitrd logging when quiet
adad6c
adad6c
Currently in Fedora/RedHat dracut installs its fedora.conf.example
adad6c
as the default config file, in which sysloglvl is set 5. This leads
adad6c
to maxloglvl=5 in dracut calls, making unnecessary lsinitrd calls
adad6c
during initramfs builds by kdump.
adad6c
adad6c
This patch disables lsinitrd logging when --quiet option is given,
adad6c
which is controlled by maxloglvl only before. This will speed up
adad6c
dracut image building as the following if --quiet is used in kdump:
adad6c
adad6c
1) Before this patch
adad6c
$ kdumpctl stop; touch /etc/kdump.conf; time kdumpctl start
adad6c
kexec: unloaded kdump kernel
adad6c
Stopping kdump: [OK]
adad6c
Detected change(s) in the following file(s):
adad6c
  /etc/kdump.conf
adad6c
Rebuilding /boot/initramfs-4.13.0-0.rc1.git4.1.fc27.x86_64kdump.img
adad6c
kexec: loaded kdump kernel
adad6c
Starting kdump: [OK]
adad6c
real    0m26.824s
adad6c
user    0m9.958s
adad6c
sys     0m15.106s
adad6c
adad6c
2) After this patch
adad6c
$ kdumpctl stop; touch /etc/kdump.conf; time kdumpctl start
adad6c
kexec: unloaded kdump kernel
adad6c
Stopping kdump: [OK]
adad6c
Detected change(s) in the following file(s):
adad6c
  /etc/kdump.conf
adad6c
Rebuilding /boot/initramfs-4.13.0-0.rc1.git4.1.fc27.x86_64kdump.img
adad6c
kexec: loaded kdump kernel
adad6c
Starting kdump: [OK]
adad6c
real    0m20.420s
adad6c
user    0m8.385s
adad6c
sys     0m10.468s
adad6c
adad6c
Signed-off-by: Ziyue Yang <ziyang@redhat.com>
adad6c
---
adad6c
 dracut.sh | 2 +-
adad6c
 1 file changed, 1 insertion(+), 1 deletion(-)
adad6c
adad6c
diff --git a/dracut.sh b/dracut.sh
adad6c
index 62e53b73..d7459d06 100755
adad6c
--- a/dracut.sh
adad6c
+++ b/dracut.sh
adad6c
@@ -1688,7 +1688,7 @@ fi
adad6c
 
adad6c
 dinfo "*** Creating image file done ***"
adad6c
 
adad6c
-if (( maxloglvl >= 5 )); then
adad6c
+if (( maxloglvl >= 5 )) && (( verbosity_mod_l >= 0 )); then
adad6c
     if [[ $allowlocal ]]; then
adad6c
 	"$dracutbasedir/lsinitrd.sh" "${DRACUT_TMPDIR}/initramfs.img" | ddebug
adad6c
     else