From: Hannes Reinecke Date: Thu, 20 Nov 2014 14:56:45 +0000 (+0100) Subject: 90multipath: install dracut-specific service file X-Git-Tag: 041~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78a78e4239e16a033134dde71830d5bb977f6814;p=thirdparty%2Fdracut.git 90multipath: install dracut-specific service file The multipathd package might install a service and a socket file. Using the original service file from the installed system without the socket file triggers a bug in systemd, causing systemd to crash. As we don't actually need to socket file in the initrd we should be installing our own service file which does not reference the socket file at all. References: bnc#871610 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 6f4728a1f..a8700f462 100755 --- a/modules.d/90multipath/module-setup.sh +++ b/modules.d/90multipath/module-setup.sh @@ -104,10 +104,9 @@ install() { fi if dracut_module_included "systemd"; then - inst_multiple \ - $systemdsystemunitdir/multipathd.service - mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants" - ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service" + inst_simple "${moddir}/multipathd.service" "${systemdsystemunitdir}/multipathd.service" + mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants" + ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/multipathd.service" else inst_hook pre-trigger 02 "$moddir/multipathd.sh" inst_hook cleanup 02 "$moddir/multipathd-stop.sh" diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service new file mode 100644 index 000000000..44a7b8001 --- /dev/null +++ b/modules.d/90multipath/multipathd.service @@ -0,0 +1,15 @@ +[Unit] +Description=Device-Mapper Multipath Device Controller +Before=iscsi.service iscsid.service lvm2-activation-early.service +DefaultDependencies=no +Conflicts=shutdown.target + +[Service] +Type=simple +ExecStartPre=/sbin/modprobe dm-multipath +ExecStart=/sbin/multipathd -s -d +ExecReload=/sbin/multipathd reconfigure +ExecStop=/sbin/multipathd shutdown + +[Install] +WantedBy=sysinit.target