diff --git a/kdump-lib.sh b/kdump-lib.sh index 4abef85..24c3e63 100755 --- a/kdump-lib.sh +++ b/kdump-lib.sh @@ -529,11 +529,24 @@ get_dracut_args_target() echo $1 | grep "\-\-mount" | sed "s/.*--mount .\(.*\)/\1/" | cut -d' ' -f1 } +get_reserved_mem_size() +{ + local reserved_mem_size=0 + + if is_fadump_capable; then + reserved_mem_size=$(< /sys/kernel/fadump/mem_reserved) + else + reserved_mem_size=$(< /sys/kernel/kexec_crash_size) + fi + + echo "$reserved_mem_size" +} + check_crash_mem_reserved() { local mem_reserved - mem_reserved=$(cat /sys/kernel/kexec_crash_size) + mem_reserved=$(get_reserved_mem_size) if [ $mem_reserved -eq 0 ]; then derror "No memory reserved for crash kernel" return 1 diff --git a/kdumpctl b/kdumpctl index ba32806..81ba259 100755 --- a/kdumpctl +++ b/kdumpctl @@ -848,7 +848,7 @@ propagate_ssh_key() show_reserved_mem() { - local mem=$(cat /sys/kernel/kexec_crash_size) + local mem=$(get_reserved_mem_size) local mem_mb=$(expr $mem / 1024 / 1024) dinfo "Reserved "$mem_mb"MB memory for crash kernel" @@ -1270,7 +1270,7 @@ do_estimate() { # The default value when using crashkernel=auto baseline_size=$((baseline * size_mb)) # Current reserved crashkernel size - reserved_size=$(cat /sys/kernel/kexec_crash_size) + reserved_size=$(get_reserved_mem_size) # A pre-estimated value for userspace usage and kernel # runtime allocation, 64M should good for most cases runtime_size=$((64 * size_mb))