-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multipathd started leads to initrd blocked. #65
Comments
I think the entire @bmarzins, please double-check, I tend to overlook things lately ... |
If we still need |
@lixiaokeng, please try if removing the line
in |
This "Also=" directive is wrong. It was meant for enabling socket activation, but it actually does the opposite. "Also=multipathd.socket" means that enabling/disabling the service will enable/disable the socket, too. This is not what we want: socket activation means that we can enable the socket while the service is disabled and will be activated by the socket on demand. See dracutdevs/dracut#2290, opensvc#65 Fixes: ca985df ("multipathd: switch to socket activation for systemd") Signed-off-by: Martin Wilck <[email protected]>
We test this (https://github.com/dracutdevs/dracut/pull/2290/files),and it fix this issue. |
I'm on the fence about the best way to solve this:
In the end, I think I vote for doing the last two. Disabling the socket should be enough for the initramfs, but there's no point in multipathd trying to delegate work if we don't want it delegated. As for the first option, I may be letting my systemd shutdown ignorance show, but couldn't this also interfere with actual system shutdown. Accoring to the dracut-shutdown service man page: shutdown will try to umount every /oldroot mount and calls the various shutdown hooks from the dracut modules. If we are currently making certain that we disable queuing when we shut the system down, even if multipathd isn't currently running, then I feel we should probably continue to do so, just out of caution. You can override queue_without_daemon, and it's perfectly reasonable to do so in some cases, like if you are trying to update the multipath-tools binaries. If multipathd failed to restart after this, queuing would be left enabled. |
My previous comment about
OK. According to @lixiaokeng's comment above, disabling the socket in the initrd is sufficient to fix the issue. So we can leave the shutdown scripts untouched 2. Footnotes |
This "Also=" directive is wrong. It was meant for enabling socket activation, but it actually does the opposite. "Also=multipathd.socket" means that enabling/disabling the service will enable/disable the socket, too. This is not what we want: socket activation means that we can enable the socket while the service is disabled and will be activated by the socket on demand. See dracutdevs/dracut#2290, opensvc#65 Fixes: ca985df ("multipathd: switch to socket activation for systemd") Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]>
This "Also=" directive is wrong. It was meant for enabling socket activation, but it actually does the opposite. "Also=multipathd.socket" means that enabling/disabling the service will enable/disable the socket, too. This is not what we want: socket activation means that we can enable the socket while the service is disabled and will be activated by the socket on demand. See dracutdevs/dracut#2290, opensvc#65 Fixes: ca985df ("multipathd: switch to socket activation for systemd") Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]>
close |
… SR 1086784 https://build.opensuse.org/request/show/1086784 by user mwilck + dimstar_suse - Update to version 0.9.5+68+suse.d1b6a1c: Upstream bugfixes: * libmultipath: use directio checker for LIO targets (gh#opensvc/multipath-tools#54) * multipathd.service: remove "Also=multipathd.socket" (gh#opensvc/multipath-tools#65) * libmultipathd: Avoid parsing errors due to unsupported designators (forwarded request 1086780 from mwilck)
This "Also=" directive is wrong. It was meant for enabling socket activation, but it actually does the opposite. "Also=multipathd.socket" means that enabling/disabling the service will enable/disable the socket, too. This is not what we want: socket activation means that we can enable the socket while the service is disabled and will be activated by the socket on demand. See dracutdevs/dracut#2290, opensvc#65 Fixes: ca985df ("multipathd: switch to socket activation for systemd") Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> (cherry picked from commit 53b215e)
This "Also=" directive is wrong. It was meant for enabling socket activation, but it actually does the opposite. "Also=multipathd.socket" means that enabling/disabling the service will enable/disable the socket, too. This is not what we want: socket activation means that we can enable the socket while the service is disabled and will be activated by the socket on demand. See dracutdevs/dracut#2290, opensvc#65 Fixes: ca985df ("multipathd: switch to socket activation for systemd") Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> (cherry picked from commit 53b215e)
With 11f0440 commit, we meet a problem.
When there is a multipath device in initrd, multipathd will be actived becasue of dracut/modules.d/90multipath/multipathd-needshutdown.sh running. This lead to initrd-cleanup.service can't be run and switch root fails. The initrd is blocked.
dracutdevs/dracut#2289
The text was updated successfully, but these errors were encountered: