Blame 0017-90multipath-Load-device_handler-modules-early-during.patch

Harald Hoyer eeb1c2
From 856f8265aa8b86ff74802fbfe3e555864794ec2a Mon Sep 17 00:00:00 2001
Harald Hoyer eeb1c2
From: Hannes Reinecke <hare@suse.de>
Harald Hoyer eeb1c2
Date: Thu, 20 Nov 2014 15:56:44 +0100
Harald Hoyer eeb1c2
Subject: [PATCH] 90multipath: Load device_handler modules early during boot
Harald Hoyer eeb1c2
Harald Hoyer eeb1c2
The device handler modules need to be loaded early during boot
Harald Hoyer eeb1c2
to avoid I/O errors being printed to the system log.
Harald Hoyer eeb1c2
Harald Hoyer eeb1c2
References: bnc#871617
Harald Hoyer eeb1c2
Harald Hoyer eeb1c2
Signed-off-by: Hannes Reinecke <hare@suse.de>
Harald Hoyer eeb1c2
Signed-off-by: Thomas Renninger <trenn@suse.de>
Harald Hoyer eeb1c2
---
Harald Hoyer eeb1c2
 modules.d/90multipath/module-setup.sh | 14 ++++++++++++++
Harald Hoyer eeb1c2
 1 file changed, 14 insertions(+)
Harald Hoyer eeb1c2
Harald Hoyer eeb1c2
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
Harald Hoyer eeb1c2
index a547c07..6f4728a 100755
Harald Hoyer eeb1c2
--- a/modules.d/90multipath/module-setup.sh
Harald Hoyer eeb1c2
+++ b/modules.d/90multipath/module-setup.sh
Harald Hoyer eeb1c2
@@ -28,6 +28,15 @@ depends() {
Harald Hoyer eeb1c2
 }
Harald Hoyer eeb1c2
 
Harald Hoyer eeb1c2
 # called by dracut
Harald Hoyer eeb1c2
+cmdline() {
Harald Hoyer eeb1c2
+    for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
Harald Hoyer eeb1c2
+        if module_is_host_only $m ; then
Harald Hoyer eeb1c2
+            printf 'rd.driver.pre=%s ' "$m"
Harald Hoyer eeb1c2
+        fi
Harald Hoyer eeb1c2
+    done
Harald Hoyer eeb1c2
+}
Harald Hoyer eeb1c2
+
Harald Hoyer eeb1c2
+# called by dracut
Harald Hoyer eeb1c2
 installkernel() {
Harald Hoyer eeb1c2
     local _ret
Harald Hoyer eeb1c2
     local _arch=$(uname -m)
Harald Hoyer eeb1c2
@@ -89,6 +98,11 @@ install() {
Harald Hoyer eeb1c2
     inst_libdir_file "libmultipath*" "multipath/*"
Harald Hoyer eeb1c2
     inst_libdir_file 'libgcc_s.so*'
Harald Hoyer eeb1c2
 
Harald Hoyer eeb1c2
+    if [[ $hostonly_cmdline ]] ; then
Harald Hoyer eeb1c2
+        local _conf=$(cmdline)
Harald Hoyer eeb1c2
+        [[ $_conf ]] && echo "$_conf" >> "${initdir}/etc/cmdline.d/90multipath.conf"
Harald Hoyer eeb1c2
+    fi
Harald Hoyer eeb1c2
+
Harald Hoyer eeb1c2
     if dracut_module_included "systemd"; then
Harald Hoyer eeb1c2
         inst_multiple \
Harald Hoyer eeb1c2
             $systemdsystemunitdir/multipathd.service