]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
90multipath: install dracut-specific service file
authorHannes Reinecke <hare@suse.de>
Thu, 20 Nov 2014 14:56:45 +0000 (15:56 +0100)
committerHarald Hoyer <harald@redhat.com>
Tue, 25 Nov 2014 12:21:03 +0000 (13:21 +0100)
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 <hare@suse.de>
Signed-off-by: Thomas Renninger <trenn@suse.de>
modules.d/90multipath/module-setup.sh
modules.d/90multipath/multipathd.service [new file with mode: 0644]

index 6f4728a1f7eab1642ff7e917e0792c1a0f550129..a8700f462fd8fc2b7859146f430fc739d3a6005b 100755 (executable)
@@ -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 (file)
index 0000000..44a7b80
--- /dev/null
@@ -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