Kdump kernel might hang if it failed due to initqueue timeout, and
failure_action is set to dump_to_rootfs.
That's because dracut initqueue will start it's own emergency handler
and bypass kdump emergency handler. And recently dracut will enable
initqueue more often so this will more likely to happen.
And we removed the force isolation of kdump error handler in
commit a230634 to avoid failing dracut initqueue multiple times (which
may cause failure loop in this case), so `systemctl start sysroot.mount`
might also hang even if kdump error handler is called.
So two things are fixed in this series:
1. Use a emergency hook to start kdump error handler when initqueue
failed.
2. Do a soft reset of pending jobs, so `dead` services won't block
sysroot.mount.
Kairui Song (2):
module-setup.sh: add kdump-error-handler to emergency hooks
Cleanup dead systemd services before start sysroot.mount
dracut-module-setup.sh | 1 +
kdump-lib-initramfs.sh | 2 ++
2 files changed, 3 insertions(+)
--
2.31.1