Forward core collector's stdout and stderr to /dev/console

Resolves: RHEL-120489

Conflict: Upstream has dracut-kdump.sh moved to dracut/99kdumpbase/kdump.sh

commit cd40be653eeb4dac4d8fead748c8152d9a23936a
Author: Sourabh Jain <sourabhjain@linux.ibm.com>
Date:   Mon May 19 11:46:16 2025 +0530

    Forward core collector's stdout and stderr to /dev/console

    The default core collector, makedumpfile, has functionality to print the
    ETA for dump capture. However, due to a limitation/bug in systemd,
    executing the kdump.sh script via a systemd service does not print the
    ETA on the console, even though StandardError is set to journal+console.

    On machines with high memory in the terabyte range, processing the dump
    takes time. Since makedumpfile’s ETA is not printed on the console while
    collecting the dump, there have been a few instances where system
    administrators rebooted the system during dump capture, assuming the
    system was stuck.

    Until the systemd service issue [1] is fixed, forward the core
    collector’s stdout and stderr to /dev/console manually. This will print
    the ETA for dump capture and let the user know that dump capture is
    ongoing.

    [1] https://github.com/systemd/systemd/issues/37994

    Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
This commit is contained in:
Coiby Xu 2026-03-24 14:25:25 +08:00
parent 2f6fa4b489
commit edd45cfae1

View File

@ -171,7 +171,7 @@ dump_fs()
save_opalcore_fs "$_dump_fs_path"
dinfo "saving vmcore"
$CORE_COLLECTOR /proc/vmcore "$_dump_fs_path/vmcore-incomplete"
$CORE_COLLECTOR /proc/vmcore "$_dump_fs_path/vmcore-incomplete" > /dev/console 2>&1
_dump_exitcode=$?
if [ $_dump_exitcode -eq 0 ]; then
sync -f "$_dump_fs_path/vmcore-incomplete"