From 371b338a5f19d40ff4c3216dc0f27f9a00cf4e22 Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Tue, 7 Dec 2021 11:43:26 +0100 Subject: [PATCH] fix(multipathd.service): remove dependency on systemd-udev-settle The dependency of multipathd on "udev settle" has recently been removed in c9689b6 ("multipathd: Remove dependency on systemd-udev-settle.service"). But this dependency has never been necessary in the initramfs environment. It was only required after switching root, because multipathd would potentially tear down valid multipath maps after switching from initrd to root FS. This can happen because dm devices "survive" the root FS switch in the udev data base (they have the "db_persist" flag set), whereas their component devices (SCSI etc) do not. But this can only happen after initrd-udevadm-cleanup-db.service has been run, which happens after initrd processing. The only dependency that's really needed is that on systemd-udevd-kernel.socket, because multipathd depends on uevents for devices being delivered via systemd-udevd. --- modules.d/90multipath/multipathd.service | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service index 75c51305ea..a09e0c4e3f 100644 --- a/modules.d/90multipath/multipathd.service +++ b/modules.d/90multipath/multipathd.service @@ -1,9 +1,10 @@ [Unit] Description=Device-Mapper Multipath Device Controller Before=iscsi.service iscsid.service lvm2-activation-early.service -Wants=systemd-udev-trigger.service systemd-udev-settle.service local-fs-pre.target -After=systemd-udev-trigger.service systemd-udev-settle.service +Wants=local-fs-pre.target Before=local-fs-pre.target +Wants=systemd-udevd-kernel.socket +After=systemd-udevd-kernel.socket Before=initrd-cleanup.service DefaultDependencies=no Conflicts=shutdown.target