File 0099-90multipath-Load-device_handler-modules-early-during.patch of Package dracut.376
From 760bf001b3941f52451c148f3b3d66a38d4ef457 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 3 Jul 2014 15:29:59 +0200
Subject: 90multipath: Load device_handler modules early during boot
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>
---
modules.d/90multipath/module-setup.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
index 22ff580..6ac8534 100755
--- a/modules.d/90multipath/module-setup.sh
+++ b/modules.d/90multipath/module-setup.sh
@@ -30,6 +30,15 @@ depends() {
}
# 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
local _arch=$(uname -m)
@@ -91,6 +100,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_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service"
mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
--
1.8.4.5