From b5dae05a75057ea6295c4c087d6777532820621f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mon, 5 Sep 2022 22:09:13 +0000 Subject: [PATCH] import device-mapper-multipath-0.8.4-28.el8 --- ...-fix-systemd-timers-in-the-initramfs.patch | 35 +++++++++++++++++++ SPECS/device-mapper-multipath.spec | 7 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0110-multipath-fix-systemd-timers-in-the-initramfs.patch diff --git a/SOURCES/0110-multipath-fix-systemd-timers-in-the-initramfs.patch b/SOURCES/0110-multipath-fix-systemd-timers-in-the-initramfs.patch new file mode 100644 index 0000000..2d7f6d7 --- /dev/null +++ b/SOURCES/0110-multipath-fix-systemd-timers-in-the-initramfs.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski +Date: Fri, 5 Aug 2022 18:16:03 -0500 +Subject: [PATCH] multipath: fix systemd timers in the initramfs + +The systemd timers created for "find_multipaths smart" conflict with +shutdown.target, but not with initrd-cleanup.service. This can make +these timers trigger after the inirtd has started shutting down, +restarting multipathd (which then stops initrd-cleanup.service, since it +conflicts). To avoid this, make sure the timers and the unit they +trigger conflict with inird-cleanup.service. Also don't make them start +multipathd. "multipath -u" will not return "maybe" if multipathd isn't +running or set to run, and since we no longer wait for udev-settle, +multipathd starts up pretty quickly, so it shouldn't be a problem to +not trigger it here. + +Signed-off-by: Benjamin Marzinski +Reviewed-by: Martin Wilck +--- + multipath/multipath.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/multipath/multipath.rules b/multipath/multipath.rules +index 0486bf70..68c30644 100644 +--- a/multipath/multipath.rules ++++ b/multipath/multipath.rules +@@ -72,7 +72,7 @@ ENV{.SAVED_FM_WAIT_UNTIL}=="?*", GOTO="pretend_mpath" + # + # We must trigger an "add" event because LVM2 will only act on those. + +-RUN+="/usr/bin/systemd-run --unit=cancel-multipath-wait-$kernel --description 'cancel waiting for multipath siblings of $kernel' --no-block --timer-property DefaultDependencies=no --timer-property Conflicts=shutdown.target --timer-property Before=shutdown.target --timer-property AccuracySec=500ms --property DefaultDependencies=no --property Conflicts=shutdown.target --property Before=shutdown.target --property Wants=multipathd.service --property After=multipathd.service --on-active=$env{FIND_MULTIPATHS_WAIT_UNTIL} /usr/bin/udevadm trigger --action=add $sys$devpath" ++RUN+="/usr/bin/systemd-run --unit=cancel-multipath-wait-$kernel --description 'cancel waiting for multipath siblings of $kernel' --no-block --timer-property DefaultDependencies=no --timer-property Conflicts=shutdown.target --timer-property Before=shutdown.target --timer-property Conflicts=initrd-cleanup.service --timer-property Before=initrd-cleanup.service --timer-property AccuracySec=500ms --property DefaultDependencies=no --property Conflicts=shutdown.target --property Before=shutdown.target --property Conflicts=initrd-cleanup.service --property Before=initrd-cleanup.service --on-active=$env{FIND_MULTIPATHS_WAIT_UNTIL} /usr/bin/udevadm trigger --action=add $sys$devpath" + + LABEL="pretend_mpath" + ENV{DM_MULTIPATH_DEVICE_PATH}="1" diff --git a/SPECS/device-mapper-multipath.spec b/SPECS/device-mapper-multipath.spec index 17b1126..b76d258 100644 --- a/SPECS/device-mapper-multipath.spec +++ b/SPECS/device-mapper-multipath.spec @@ -1,7 +1,7 @@ Summary: Tools to manage multipath devices using device-mapper Name: device-mapper-multipath Version: 0.8.4 -Release: 27%{?dist} +Release: 28%{?dist} License: GPLv2 Group: System Environment/Base URL: http://christophe.varoqui.free.fr/ @@ -120,6 +120,7 @@ Patch00106: 0106-multipathd-disallow-changing-to-from-fpin-marginal-p.patch Patch00107: 0107-libmultipath-unset-detect_checker-for-clariion-Unity.patch Patch00108: 0108-multipathd-Add-missing-ctype-include.patch Patch00109: 0109-multipathd-replace-libreadline-with-libedit.patch +Patch00110: 0110-multipath-fix-systemd-timers-in-the-initramfs.patch # runtime Requires: %{name}-libs = %{version}-%{release} @@ -322,6 +323,10 @@ fi %{_pkgconfdir}/libdmmp.pc %changelog +* Wed Aug 24 2022 Benjamin Marzinski 0.8.4-28 +- Add 0110-multipath-fix-systemd-timers-in-the-initramfs.patch +- Resolves: bz #1916168 + * Fri Aug 19 2022 Benjamin Marzinski 0.8.4-27 - Add 0108-multipathd-Add-missing-ctype-include.patch - Add 0109-multipathd-replace-libreadline-with-libedit.patch