From 523cda8f343b1a48799a5c25e1d76a2a475a6b1d Mon Sep 17 00:00:00 2001 From: Coiby Xu Date: Fri, 25 Nov 2022 12:07:25 +0800 Subject: [PATCH] Don't run kdump_check_setup_iscsi in a subshell in order to collect needed network interfaces Currently, dumping to iSCSI target fails because the global array (unique_netifs) that stores the network interfaces needed by kdump is empty. The root cause is change of the array made in a subshell (a child process) is inaccessible to the parent process. So don't run kdump_check_setup_iscsi in a subshell. Fixes: 63c3805c ("Set up kdump network by directly copying NM connection profile to initrd") Signed-off-by: Coiby Xu Reviewed-by: Pingfan Liu --- dracut-module-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh index 0cac3bd..1fa2a78 100755 --- a/dracut-module-setup.sh +++ b/dracut-module-setup.sh @@ -809,7 +809,7 @@ kdump_check_iscsi_targets() { # If our prerequisites are not met, fail anyways. type -P iscsistart > /dev/null || return 1 - kdump_check_setup_iscsi() ( + kdump_check_setup_iscsi() { local _dev _dev=$1 @@ -819,7 +819,7 @@ kdump_check_iscsi_targets() { cd .. done [[ -d iscsi_session ]] && kdump_setup_iscsi_device "$PWD" - ) + } [[ $hostonly ]] || [[ $mount_needs ]] && { for_each_host_dev_and_slaves_all kdump_check_setup_iscsi