mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zdev/dracut: fix hardcoded '/' as required mount or device
With the introduction of zdev for device configuration in v1.33.0, it used a hardcoded "/" to refer to the root-fs. Dracut has its own mechanism to find the root file system and to walk its device dependencies. Mkdumprd also has its own mechanism to interpret the kdump target and invokes dracut so that dracut only considers arguments from mkdumprd without any root-fs dracut would default to [--no-hostonly-default-device]. Use the dracut mechanism to walk device dependencies and individually have chzdev treat each leaf-node in the dependency tree. See also https://github.com/dracutdevs/dracut commit 83e0dc7a3dca ("Add for_each_host_dev_and_slaves for device only checking"). This enables the use of dracut options such as --add-device or --mount used in turn by mkdumprd. 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>
This commit is contained in:
committed by
Jan Höppner
parent
d3a3b26d16
commit
f2c82bf2b5
@@ -50,8 +50,18 @@ install() {
|
||||
|
||||
# Obtain early + root device configuration
|
||||
_tempfile=$(mktemp --tmpdir dracut-zdev.XXXXXX)
|
||||
chzdev --export "$_tempfile" --persistent --by-path / --quiet \
|
||||
--type 2>/dev/null
|
||||
function check_zdev() {
|
||||
local _dev=$1
|
||||
local _devsysfs _bdevpath
|
||||
_devsysfs=$(
|
||||
cd -P /sys/dev/block/"$_dev" && echo "$PWD"
|
||||
)
|
||||
_bdevpath=/dev/${_devsysfs##*/}
|
||||
chzdev --export - --persistent --by-node "$_bdevpath" --quiet \
|
||||
--type 2>/dev/null >> "$_tempfile"
|
||||
}
|
||||
for_each_host_dev_and_slaves_all check_zdev
|
||||
|
||||
chzdev --export - --persistent --by-attrib "zdev:early=1" --quiet \
|
||||
--type 2>/dev/null >> "$_tempfile"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user