Revert "Introduce vmcore creation notification to kdump"
Resolves: RHEL-70214 Upstream: fedora Conflict: Yes, the conflict is the same as the original c9s commitc5aa4609
("Introduce vmcore creation notification to kdump")9ec61f6c
("Return the correct exit code of rebuild initrd") commit 96956928a66d9256cdf8bfed6a8963ddea35aac9 Author: Tao Liu <ltao@redhat.com> Date: Fri Nov 29 14:42:01 2024 +1300 Revert "Introduce vmcore creation notification to kdump" This patch will revert the following 2 patches: 88525ebf ("Introduce vmcore creation notification to kdump") 35449537 ("Return the correct exit code of rebuild initrd") For the preparation of reimplementation of vmcore creation notification. Signed-off-by: Tao Liu <ltao@redhat.com> Signed-off-by: Tao Liu <ltao@redhat.com>
This commit is contained in:
parent
315f200ee7
commit
79aec45f8c
@ -306,22 +306,11 @@ do_final_action()
|
||||
|
||||
do_dump()
|
||||
{
|
||||
if [ -d /vmcorestatus ]; then
|
||||
_vmcore_creation_status="/vmcorestatus/$VMCORE_CREATION_STATUS"
|
||||
else
|
||||
_vmcore_creation_status="/sysroot/$VMCORE_CREATION_STATUS"
|
||||
fi
|
||||
|
||||
set_vmcore_creation_status 'clear' "$_vmcore_creation_status"
|
||||
|
||||
eval "$DUMP_INSTRUCTION"
|
||||
eval $DUMP_INSTRUCTION
|
||||
_ret=$?
|
||||
|
||||
if [ $_ret -ne 0 ]; then
|
||||
set_vmcore_creation_status 'fail' "$_vmcore_creation_status"
|
||||
derror "saving vmcore failed"
|
||||
else
|
||||
set_vmcore_creation_status 'success' "$_vmcore_creation_status"
|
||||
fi
|
||||
|
||||
return $_ret
|
||||
|
@ -1144,7 +1144,6 @@ install() {
|
||||
inst "/usr/bin/printf" "/sbin/printf"
|
||||
inst "/usr/bin/logger" "/sbin/logger"
|
||||
inst "/usr/bin/chmod" "/sbin/chmod"
|
||||
inst "/usr/bin/dirname" "/sbin/dirname"
|
||||
inst "/lib/kdump/kdump-lib-initramfs.sh" "/lib/kdump-lib-initramfs.sh"
|
||||
inst "/lib/kdump/kdump-logger.sh" "/lib/kdump-logger.sh"
|
||||
inst "$moddir/kdump.sh" "/usr/bin/kdump.sh"
|
||||
|
@ -8,7 +8,6 @@ KDUMP_CONFIG_FILE="/etc/kdump.conf"
|
||||
FENCE_KDUMP_CONFIG_FILE="/etc/sysconfig/fence_kdump"
|
||||
FENCE_KDUMP_SEND="/usr/libexec/fence_kdump_send"
|
||||
LVM_CONF="/etc/lvm/lvm.conf"
|
||||
VMCORE_CREATION_STATUS="/var/crash/vmcore-creation.status"
|
||||
|
||||
# Read kdump config in well formated style
|
||||
kdump_read_conf()
|
||||
@ -182,35 +181,3 @@ kdump_get_ip_route_field()
|
||||
{
|
||||
echo "$1" | sed -n -e "s/^.*\<$2\>\s\+\(\S\+\).*$/\1/p"
|
||||
}
|
||||
|
||||
# $1: success/fail/clear
|
||||
# $2: status_file
|
||||
set_vmcore_creation_status()
|
||||
{
|
||||
_status=$1
|
||||
_status_file=$2
|
||||
_dir=$(dirname "$_status_file")
|
||||
|
||||
[[ -d "$_dir" ]] || mkdir -p "$_dir"
|
||||
|
||||
_mnt_op=$(get_mount_info OPTIONS target "$_dir" -f)
|
||||
case $_mnt_op in
|
||||
ro*)
|
||||
dinfo "remounting the vmcore status target in rw mode."
|
||||
mount -o remount,rw "$(findmnt -n -o TARGET --target $_dir)"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$_status" in
|
||||
success | fail)
|
||||
dinfo "saving vmcore status file to $_status_file"
|
||||
echo "$_status $(date +%s)" > "$_status_file"
|
||||
;;
|
||||
clear)
|
||||
rm -f "$_status_file"
|
||||
;;
|
||||
*)
|
||||
return
|
||||
esac
|
||||
sync -f "$_dir"
|
||||
}
|
||||
|
@ -36,10 +36,6 @@ KEXEC_ARGS=""
|
||||
#What is the image type used for kdump
|
||||
KDUMP_IMG="vmlinuz"
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||
|
@ -36,10 +36,6 @@ KEXEC_ARGS="-s"
|
||||
#What is the image type used for kdump
|
||||
KDUMP_IMG="vmlinuz"
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||
|
@ -39,10 +39,6 @@ KDUMP_IMG="vmlinuz"
|
||||
#What is the images extension. Relocatable kernels don't have one
|
||||
KDUMP_IMG_EXT=""
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||
|
@ -39,10 +39,6 @@ KDUMP_IMG="vmlinuz"
|
||||
#What is the images extension. Relocatable kernels don't have one
|
||||
KDUMP_IMG_EXT=""
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
#Specify the action after failure
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
|
@ -39,10 +39,6 @@ KDUMP_IMG="vmlinuz"
|
||||
#What is the images extension. Relocatable kernels don't have one
|
||||
KDUMP_IMG_EXT=""
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
#Specify the action after failure
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
|
@ -42,10 +42,6 @@ KDUMP_IMG="vmlinuz"
|
||||
#What is the images extension. Relocatable kernels don't have one
|
||||
KDUMP_IMG_EXT=""
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||
|
@ -39,10 +39,6 @@ KDUMP_IMG="vmlinuz"
|
||||
#What is the images extension. Relocatable kernels don't have one
|
||||
KDUMP_IMG_EXT=""
|
||||
|
||||
# Enable vmcore creation notification by default, disable by setting
|
||||
# VMCORE_CREATION_NOTIFICATION=""
|
||||
VMCORE_CREATION_NOTIFICATION="yes"
|
||||
|
||||
# Logging is controlled by following variables in the first kernel:
|
||||
# - @var KDUMP_STDLOGLVL - logging level to standard error (console output)
|
||||
# - @var KDUMP_SYSLOGLVL - logging level to syslog (by logger command)
|
||||
|
70
kdumpctl
70
kdumpctl
@ -142,7 +142,6 @@ rebuild_kdump_initrd()
|
||||
|
||||
rebuild_initrd()
|
||||
{
|
||||
local _ret
|
||||
if [[ ! -w $(dirname "$TARGET_INITRD") ]]; then
|
||||
derror "$(dirname "$TARGET_INITRD") does not have write permission. Cannot rebuild $TARGET_INITRD"
|
||||
return 1
|
||||
@ -153,10 +152,6 @@ rebuild_initrd()
|
||||
else
|
||||
rebuild_kdump_initrd
|
||||
fi
|
||||
_ret=$?
|
||||
|
||||
set_vmcore_creation_status 'clear' "$VMCORE_CREATION_STATUS"
|
||||
return $_ret
|
||||
}
|
||||
|
||||
#$1: the files to be checked with IFS=' '
|
||||
@ -1060,8 +1055,6 @@ start()
|
||||
fi
|
||||
|
||||
dinfo "Starting kdump: [OK]"
|
||||
check_vmcore_creation_status
|
||||
return 0
|
||||
}
|
||||
|
||||
reload()
|
||||
@ -1763,62 +1756,6 @@ if [[ ! -f $KDUMP_CONFIG_FILE ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_vmcore_creation_status()
|
||||
{
|
||||
local _status _timestamp _status_date
|
||||
|
||||
[[ ${VMCORE_CREATION_NOTIFICATION,,} == "yes" ]] || return
|
||||
|
||||
if [[ ! -s $VMCORE_CREATION_STATUS ]]; then
|
||||
dwarn "Notice: No vmcore creation test performed!"
|
||||
return
|
||||
fi
|
||||
|
||||
read -r _status _timestamp < "$VMCORE_CREATION_STATUS"
|
||||
_status_date="$(date -d "@$_timestamp")"
|
||||
if [[ "$_status" == "success" ]]; then
|
||||
dinfo "Notice: Last successful vmcore creation on $_status_date"
|
||||
else
|
||||
dwarn "Notice: Last NOT successful vmcore creation on $_status_date"
|
||||
fi
|
||||
}
|
||||
|
||||
kdump_test()
|
||||
{
|
||||
local _dir
|
||||
|
||||
if ! is_kernel_loaded "$DEFAULT_DUMP_MODE"; then
|
||||
derror "Kdump needs be operational before test."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
_dir=$(dirname "$VMCORE_CREATION_STATUS")
|
||||
if ! [[ -d "$_dir" ]]; then
|
||||
derror "Vmcore status dir $_dir not exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! lsblk $(get_mount_info SOURCE target "$_dir") > /dev/null; then
|
||||
derror "$VMCORE_CREATION_STATUS must on local drive"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! "$1" == "--force" ]]; then
|
||||
read -p "DANGER!!! Will perform a kdump test by crashing the system, proceed? (y/N): " input
|
||||
case $input in
|
||||
[Yy] )
|
||||
dinfo "Start kdump test..."
|
||||
;;
|
||||
* )
|
||||
dinfo "Operation cancelled."
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
set_vmcore_creation_status 'clear' "$VMCORE_CREATION_STATUS"
|
||||
echo c > /proc/sysrq-trigger
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
# Determine if the dump mode is kdump or fadump
|
||||
@ -1849,7 +1786,6 @@ main()
|
||||
EXIT_CODE=3
|
||||
;;
|
||||
esac
|
||||
check_vmcore_creation_status
|
||||
exit $EXIT_CODE
|
||||
;;
|
||||
reload)
|
||||
@ -1890,12 +1826,8 @@ main()
|
||||
reset_crashkernel_for_installed_kernel "$2"
|
||||
fi
|
||||
;;
|
||||
test)
|
||||
shift
|
||||
kdump_test "$@"
|
||||
;;
|
||||
*)
|
||||
dinfo $"Usage: $0 {estimate|start|stop|status|restart|reload|rebuild|reset-crashkernel|propagate|showmem|test}"
|
||||
dinfo $"Usage: $0 {estimate|start|stop|status|restart|reload|rebuild|reset-crashkernel|propagate|showmem}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
10
kdumpctl.8
10
kdumpctl.8
@ -70,16 +70,6 @@ Note: The memory requirements for kdump varies heavily depending on the
|
||||
used hardware and system configuration. Thus the recommended
|
||||
crashkernel might not work for your specific setup. Please test if
|
||||
kdump works after resetting the crashkernel value.
|
||||
.TP
|
||||
.I test [--force]
|
||||
Test the kdump by actually trigger the system crash & dump, and check if a
|
||||
vmcore can really be generated successfully based on current config and
|
||||
environment. After system reboot back to normal, check the test result
|
||||
by "kdumpctl status".
|
||||
|
||||
If the optional parameter [--force] is provided, there will be no interact
|
||||
before triggering the system crash. Dangerous though, this option is meant
|
||||
for automation testing.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR kdump.conf (5),
|
||||
|
16
mkdumprd
16
mkdumprd
@ -61,10 +61,9 @@ add_dracut_sshkey()
|
||||
# caller should ensure $1 is valid and mounted in 1st kernel
|
||||
to_mount()
|
||||
{
|
||||
local _target=$1 _fstype=$2 _options=$3 _new_mntpoint=$4
|
||||
local _sed_cmd _pdev
|
||||
local _target=$1 _fstype=$2 _options=$3 _sed_cmd _new_mntpoint _pdev
|
||||
|
||||
_new_mntpoint="${_new_mntpoint:-$(get_kdump_mntpoint_from_target "$_target")}"
|
||||
_new_mntpoint=$(get_kdump_mntpoint_from_target "$_target")
|
||||
_fstype="${_fstype:-$(get_fs_type_from_target "$_target")}"
|
||||
_options="${_options:-$(get_mntopt_from_target "$_target")}"
|
||||
_options="${_options:-defaults}"
|
||||
@ -475,17 +474,6 @@ if [[ -d /sys/module/nvme ]]; then
|
||||
add_dracut_arg "--add-drivers" "nvme"
|
||||
fi
|
||||
|
||||
status_target=$(get_target_from_path $(dirname "$VMCORE_CREATION_STATUS"))
|
||||
|
||||
if [[ $(get_root_fs_device) != "$status_target" ]]; then
|
||||
new_mntpoint=$(echo /vmcorestatus/$(get_mntpoint_from_target "$status_target") \
|
||||
| tr -s "/")
|
||||
add_mount "$status_target" "" "" "$new_mntpoint"
|
||||
elif ! is_fadump_capable && \
|
||||
! [[ ${dracut_args[@]} == *"$(kdump_get_persistent_dev $status_target)"* ]]; then
|
||||
add_mount "$status_target"
|
||||
fi
|
||||
|
||||
# Use kdump managed dracut profile.
|
||||
[[ $kdump_dracut_confdir ]] || kdump_dracut_confdir=/lib/kdump/dracut.conf.d
|
||||
if [[ "$(dracut --help)" == *--add-confdir* ]] && [[ -d "$kdump_dracut_confdir" ]]; then
|
||||
|
Loading…
Reference in New Issue
Block a user