]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
90multipath: Load device_handler modules early during boot
authorHannes Reinecke <hare@suse.de>
Thu, 20 Nov 2014 14:56:44 +0000 (15:56 +0100)
committerHarald Hoyer <harald@redhat.com>
Tue, 25 Nov 2014 12:21:03 +0000 (13:21 +0100)
The device handler modules need to be loaded early during boot
to avoid I/O errors being printed to the system log.

References: bnc#871617

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Thomas Renninger <trenn@suse.de>
modules.d/90multipath/module-setup.sh

index a547c07aa0c88b894f2c09e1920c674a246bef9f..6f4728a1f7eab1642ff7e917e0792c1a0f550129 100755 (executable)
@@ -27,6 +27,15 @@ depends() {
     return 0
 }
 
+# called by dracut
+cmdline() {
+    for m in scsi_dh_alua scsi_dh_emc scsi_dh_rdac ; do
+        if module_is_host_only $m ; then
+            printf 'rd.driver.pre=%s ' "$m"
+        fi
+    done
+}
+
 # called by dracut
 installkernel() {
     local _ret
@@ -89,6 +98,11 @@ install() {
     inst_libdir_file "libmultipath*" "multipath/*"
     inst_libdir_file 'libgcc_s.so*'
 
+    if [[ $hostonly_cmdline ]] ; then
+        local _conf=$(cmdline)
+        [[ $_conf ]] && echo "$_conf" >> "${initdir}/etc/cmdline.d/90multipath.conf"
+    fi
+
     if dracut_module_included "systemd"; then
         inst_multiple \
             $systemdsystemunitdir/multipathd.service