-
Notifications
You must be signed in to change notification settings - Fork 400
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
initrd is blocked because of conflict between multipathd.service and initrd-cleanup.service #2289
Comments
Related - #2175 |
I was sure that systemd won't even try to activate the socket at boot at the time before I checked in #2010 but I'm not so sure now and I no longer have access to that physical machine that boots from a multipath device... Let me repeat the experiment in a VM. If this breaks latest installations somehow in the worst case feel free to revert #2010. |
Current observations:
I can think of two way out:
For OP if you need a workaround right now:
|
Both ways can deal with this problem. |
This reverts commit e39ff40, removes an incorrect `Also=` directive from multipathd.service. `Also=multipathd.socket` is not the correct behavior for a socket-activated service. This directive has been removed upstream and dracut should do the same. This fixes #2289, #2175 where in the cleanup hook running multipath binary triggers activation of multipathd.service after it is stopped as dracut prepares to switch root in initrd-cleanup.service.
This reverts commit e39ff40, removes an incorrect `Also=` directive from multipathd.service. `Also=multipathd.socket` is not the correct behavior for a socket-activated service. This directive has been removed upstream and dracut should do the same. This fixes dracutdevs#2289, dracutdevs#2175 where in the cleanup hook running multipath binary triggers activation of multipathd.service after it is stopped as dracut prepares to switch root in initrd-cleanup.service. (cherry picked from commit 297525c)
This reverts commit e39ff40, removes an incorrect `Also=` directive from multipathd.service. `Also=multipathd.socket` is not the correct behavior for a socket-activated service. This directive has been removed upstream and dracut should do the same. This fixes dracutdevs#2289, dracutdevs#2175 where in the cleanup hook running multipath binary triggers activation of multipathd.service after it is stopped as dracut prepares to switch root in initrd-cleanup.service.
Fixes boot hangs on s390x/multipath. - dracutdevs/dracut#2175 - dracutdevs/dracut#2289 - dracutdevs/dracut#2318
Fixes boot hangs on s390x/multipath. - dracutdevs/dracut#2175 - dracutdevs/dracut#2289 - dracutdevs/dracut#2318
Fixes boot hangs on s390x/multipath. - dracutdevs/dracut#2175 - dracutdevs/dracut#2289 - dracutdevs/dracut#2318
Describe the bug
initrd is blocked after
Finished dracut pre-pivot and cleanup hook
and initrd-cleanup.service is not activated.Distribution used
openEuler
Dracut version
059
Init system
systemd
To Reproduce
Install multipath-tools in the system, and use
dracut --no-hostonly
to generate the initramfs. And there should be at least a multipath disk in the system.Expected behavior
initrd-cleanup.service should be activated and dracut continues switching root
Additional context
In previous commit 02e646f,
multipathd.socket
is injected into initramfs when multipath module is added. And in the hook scriptmultipathd-needshutdown.sh
in cleanup,multipath -l -v1
is called. If there is a multipath block discovered,multipathd.service
will be activated bymultipathd.socket
. However,multipathd.service
is configured to be before and be conflict withinitrd-cleanup.service
, which results ininitrd-cleanup.service
can not be activated and initrd is blocked.The text was updated successfully, but these errors were encountered: