On 12/11/15 at 02:03pm, Dave Young wrote:
In latest rawhide kdump kernel reboot hangs because systemd reports
conflict when kdump calls reboot during booting because it tries to stop
services while they are starting up.
One more place. Here it tries to stop services while they are starting
up. "it" means "reboot", "they" means services which is
being stopped by
If yes, it should be:
because it tries to stop services which are starting up.
because it tries to stop services which are being started up.
The rest is very clear.
> We previouly use "reboot -f" but later we changed to reboot because we
> systemd to take care of the shutdown path, mainly for umount filesystems.
> Change back to "reboot -f" works but we still need umount by ourselves.
> During my tests with "reboot -f" I get below dirty ext2 filesystem:
> [root@localhost ~]# fsck /dev/vdb
> fsck from util-linux 2.27
> e2fsck 1.42.13 (17-May-2015)
> /dev/vdb was not cleanly unmounted, check forced.
> Actually "reboot -f" equals to "systemctl reboot -f -f"
> systemctl manpage says "-f" and "-f -f" means different
> When use -f with reboot, will execute reboot without shutting down all units.
> However all processes will be killed forcibly and all file systems are
> unmounted or remounted read-only. If -f is specified twice, will reboot
> immediately without terminating any processes or unmounting any file systems.
> Thus change to use "systemctl reboot -f" for our reboot actions. It can
> the problem and at the same time it can ensure filesystems are umounted before
> OTOH, a systemd changes cause the breakage, it may be a system service new
> design, Later I can dig into systemd changes see which commit cause the
> Signed-off-by: Dave Young <dyoung(a)redhat.com>
> Signed-off-by: Dangyi Liu <dliu(a)redhat.com>
> kdump-lib-initramfs.sh | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> --- kexec-tools.orig/kdump-lib-initramfs.sh
> +++ kexec-tools/kdump-lib-initramfs.sh
> @@ -6,14 +6,14 @@ KDUMP_PATH="/var/crash"
> DEFAULT_CORE_COLLECTOR="makedumpfile -l --message-level 1 -d 31"
> +DEFAULT_ACTION="systemctl reboot -f"
> DATEDIR=`date +%Y-%m-%d-%T`
> +FINAL_ACTION="systemctl reboot -f"
> @@ -57,7 +57,7 @@ get_kdump_confs()
> - DEFAULT_ACTION="reboot"
> + DEFAULT_ACTION="systemctl reboot -f"