From ab6f4a825e31b582cb77181ef6803c77236f74f0 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 18 Dec 2013 12:26:05 +0100 Subject: [PATCH] iscsi: do iscsi_firmware regardless of network Do the iscsi_firmware iscsistart at least once, even if the network is not up, to activate offload HBA iSCSI. https://bugzilla.redhat.com/show_bug.cgi?id=1031160 --- modules.d/95iscsi/iscsiroot.sh | 12 +++++++----- modules.d/95iscsi/parse-iscsiroot.sh | 2 +- test/TEST-30-ISCSI/test.sh | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh index 738fff4..ef090f7 100755 --- a/modules.d/95iscsi/iscsiroot.sh +++ b/modules.d/95iscsi/iscsiroot.sh @@ -44,13 +44,15 @@ if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then iscsi_param="$iscsi_param --param $p" done - iscsistart -b $iscsi_param - echo 'started' > "/tmp/iscsistarted-iscsi" - echo 'started' > "/tmp/iscsistarted-firmware" - need_shutdown - exit 0 + if ! [ -e /tmp/iscsistarted-firmware ] && iscsistart -b $iscsi_param; then + echo 'started' > "/tmp/iscsistarted-iscsi" + echo 'started' > "/tmp/iscsistarted-firmware" + need_shutdown + fi + [ "$netif" = dummy ] && exit 0 fi + handle_netroot() { local iscsi_initiator iscsi_target_name iscsi_target_ip iscsi_target_port diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh index 0c8b524..77bd991 100755 --- a/modules.d/95iscsi/parse-iscsiroot.sh +++ b/modules.d/95iscsi/parse-iscsiroot.sh @@ -64,7 +64,7 @@ if [ -n "$iscsi_firmware" ] ; then netroot=${netroot:-iscsi} modprobe -q iscsi_boot_sysfs 2>/dev/null modprobe -q iscsi_ibft - echo "[ -f '/tmp/iscsistarted-firmware' ]" > $hookdir/initqueue/finished/iscsi_firmware_started.sh + initqueue --onetime --settled /sbin/iscsiroot dummy "$netroot" "$NEWROOT" fi # If it's not iscsi we don't continue diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh index 4c29956..f597783 100755 --- a/test/TEST-30-ISCSI/test.sh +++ b/test/TEST-30-ISCSI/test.sh @@ -69,7 +69,7 @@ do_test_run() { || return 1 run_client "netroot=iscsi" \ - "root=LABEL=sysroot ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ + "iscsi_firmware root=LABEL=sysroot ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ || return 1 return 0