mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
This prevents out-of-memory (OOM) situations in the kdump crashkernel environment. Please note that the new dracut module 95zdev-kdump and the new library zdev-lib.sh need to be packaged into the same (core) (sub)package as 95zdev. This patch introduces a new dracut module "zdev-kdump", which is used instead of module "zdev" when building a kdump initrd: 1. Ignore all persistently configured block devices and disable zfcp auto LUN scanning => minimize the number of SCSI devices enabled during kdump. 2. Do not rely on chzdev's persistent configuration => work with systems that do not use chzdev for persistent device configuration. The detection of kdump is based on strict hostonly mode and on $IN_KDUMP. See also https://src.fedoraproject.org/rpms/kexec-tools commit 4eedcae5e154 ("dracut-module-setup.sh: don't include multipath-hostonly") and https://github.com/dracutdevs/dracut commits 35e86ac117ac ("Merge 90-multipath-hostonly and 90-multipath") a695250ec7db ("Introduce tri-state hostonly mode") and https://src.fedoraproject.org/rpms/kexec-tools/blob/rawhide/f/mkdumprd#_17 https://src.fedoraproject.org/rpms/kexec-tools/blob/rawhide/f/dracut-module-setup.sh#_23. The detection of kdump is also based on kdump_needed() in https://github.com/openSUSE/kdump/blob/master/dracut/module-setup.sh. Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Steffen Maier <maier@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
25 lines
853 B
Bash
25 lines
853 B
Bash
#
|
|
# Copyright IBM Corp. 2023
|
|
#
|
|
# s390-tools is free software; you can redistribute it and/or modify
|
|
# it under the terms of the MIT license. See LICENSE for details.
|
|
#
|
|
#
|
|
# 95zdev/zdev-lib.sh
|
|
# Common shell library functionality for 95zdev and 95zdev-kdump.
|
|
#
|
|
|
|
is_kdump() {
|
|
# https://src.fedoraproject.org/rpms/kexec-tools/c/4eedcae5e1540690a3761857fe2e692774c44960
|
|
# https://src.fedoraproject.org/rpms/kexec-tools/blob/rawhide/f/mkdumprd
|
|
# https://src.fedoraproject.org/rpms/kexec-tools/blob/rawhide/f/dracut-module-setup.sh
|
|
if [[ $hostonly && "$hostonly_mode" == "strict" && -n "$IN_KDUMP" ]]; then
|
|
return 0
|
|
fi
|
|
# https://github.com/openSUSE/kdump/blob/master/dracut/module-setup.sh
|
|
if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules " == *\ kdump\ * ]]; then
|
|
return 0
|
|
fi
|
|
return 1
|
|
}
|