From: Hannes Reinecke Date: Thu, 20 Nov 2014 14:56:44 +0000 (+0100) Subject: 90multipath: Load device_handler modules early during boot X-Git-Tag: 041~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=856f8265aa8b86ff74802fbfe3e555864794ec2a;p=thirdparty%2Fdracut.git 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 Signed-off-by: Thomas Renninger --- diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh index a547c07aa..6f4728a1f 100755 --- a/modules.d/90multipath/module-setup.sh +++ b/modules.d/90multipath/module-setup.sh @@ -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