diff options
author | Harald Hoyer <harald@redhat.com> | 2021-05-12 15:13:52 +0200 |
---|---|---|
committer | Harald Hoyer <harald@hoyer.xyz> | 2021-05-14 08:34:48 +0200 |
commit | 66b920c65143f4cac80385a51704ae9483305569 (patch) | |
tree | 4da396e5c67aba806673c59cdbfc1adda6d5c78c | |
parent | 8b2afb08baea7fc6e15ece94e287dcc4a008bcc4 (diff) | |
download | dracut-66b920c65143f4cac80385a51704ae9483305569.tar.gz |
fix(iscsi): replace sed call with bash internals
This removes a fork/exec and additionally gives more information in debug logs.
-rwxr-xr-x | modules.d/95iscsi/iscsiroot.sh | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh index 63acd858..1a644650 100755 --- a/modules.d/95iscsi/iscsiroot.sh +++ b/modules.d/95iscsi/iscsiroot.sh @@ -214,7 +214,11 @@ handle_netroot() { if strglobin "$iscsi_target_ip" '*:*:*' && ! strglobin "$iscsi_target_ip" '['; then iscsi_target_ip="[$iscsi_target_ip]" fi - targets=$(iscsiadm -m discovery -t st -p "$iscsi_target_ip":${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/') + targets=$(iscsiadm -m discovery -t st -p "$iscsi_target_ip":${iscsi_target_port:+$iscsi_target_port} | { + while read -r _ target _ || [ -n "$target" ]; do + echo "$target" + done + }) [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1 found= |