From 9491e599282d0d6bb12063eddbd192c0d2ce8acf Mon Sep 17 00:00:00 2001 From: Luca BRUNO Date: Thu, 23 Sep 2021 09:05:44 +0000 Subject: [PATCH] fix(multipath): drop ExecStop= setting from service unit This removes the 'ExecStop=' field from `multipathd.service`. Sometimes CI runs do encounter a failure related to this service in initrd, which seems to be stemming from a socket I/O race between the client and the server on shutdown. It looks like the client (`multipathd shutdown`) can lose the race, hit an I/O error, and cause the whole unit to fail (even if the server managed to shutdown properly already). Notably, the upstream unit does not have such stop command as the daemon can already perform a graceful exit through its signal handler. As such, this commit partially re-aligns the two units, trying to sidestep any of the existing races. Refs: * https://github.com/coreos/fedora-coreos-tracker/issues/803 * https://github.com/opensvc/multipath-tools/blob/0.8.7/multipathd/multipathd.service --- modules.d/90multipath/multipathd.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service index b544de2105..75c51305ea 100644 --- a/modules.d/90multipath/multipathd.service +++ b/modules.d/90multipath/multipathd.service @@ -14,11 +14,11 @@ ConditionKernelCommandLine=!rd_NO_MULTIPATH ConditionKernelCommandLine=!multipath=off [Service] -Type=simple +Type=notify +NotifyAccess=main ExecStartPre=-/sbin/modprobe dm-multipath ExecStart=/sbin/multipathd -s -d ExecReload=/sbin/multipathd reconfigure -ExecStop=/sbin/multipathd shutdown [Install] WantedBy=sysinit.target