diff options
author | Luca BRUNO <luca.bruno@coreos.com> | 2021-09-23 09:05:44 +0000 |
---|---|---|
committer | Jóhann B. Guðmundsson <johannbg@gmail.com> | 2021-09-23 09:45:27 +0000 |
commit | 9491e599282d0d6bb12063eddbd192c0d2ce8acf (patch) | |
tree | b9cf3fcaac6e70dcb622e04a131df6a88bf79f30 | |
parent | 10ed204f873f454dcd15ffcc82dc3a1c781c1514 (diff) | |
download | dracut-9491e599282d0d6bb12063eddbd192c0d2ce8acf.tar.gz |
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
-rw-r--r-- | modules.d/90multipath/multipathd.service | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/modules.d/90multipath/multipathd.service b/modules.d/90multipath/multipathd.service index b544de21..75c51305 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 |