From: Harald Hoyer Date: Fri, 22 Mar 2013 08:09:57 +0000 (+0100) Subject: multipath: install native systemd service X-Git-Tag: 027~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b0a362d832e0641746744cafa721f22723f6cf0;p=thirdparty%2Fdracut.git multipath: install native systemd service --- diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh index d2d2b3be0..28fc48dde 100755 --- a/modules.d/90multipath/module-setup.sh +++ b/modules.d/90multipath/module-setup.sh @@ -15,7 +15,7 @@ check() { } [[ $hostonly ]] || [[ $mount_needs ]] && { - for_each_host_dev_and_slaves is_mpath || return 1 + for_each_host_dev_and_slaves is_mpath || return 255 } return 0 @@ -75,6 +75,7 @@ install() { mpath_wait \ multipath \ multipathd \ + mpathpersist \ xdrgetuid \ xdrgetprio \ /etc/xdrdevices.conf \ @@ -85,8 +86,15 @@ install() { inst_libdir_file "libmultipath*" "multipath/*" - inst_hook pre-trigger 02 "$moddir/multipathd.sh" - inst_hook cleanup 02 "$moddir/multipathd-stop.sh" + if dracut_module_included "systemd"; then + dracut_install \ + $systemdsystemunitdir/multipathd.service + mkdir -p "${initdir}${systemdsystemconfdir}/sysinit.target.wants" + ln -rfs "${initdir}${systemdsystemunitdir}/multipathd.service" "${initdir}${systemdsystemconfdir}/sysinit.target.wants/multipathd.service" + else + inst_hook pre-trigger 02 "$moddir/multipathd.sh" + inst_hook cleanup 02 "$moddir/multipathd-stop.sh" + fi inst_rules 40-multipath.rules 62-multipath.rules 65-multipath.rules 66-kpartx.rules }