]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
iscsi: call "iscsistart -b" until it succeeds
authorHarald Hoyer <harald@redhat.com>
Fri, 17 Jan 2014 13:45:15 +0000 (14:45 +0100)
committerHarald Hoyer <harald@redhat.com>
Fri, 17 Jan 2014 13:52:01 +0000 (14:52 +0100)
modules.d/95iscsi/iscsiroot.sh
modules.d/95iscsi/parse-iscsiroot.sh

index abdea5cfa812d009866ee2545af09dfb6a31d276..156003c09098a0f5aab1e6ce07e7db083d610ea1 100755 (executable)
@@ -45,11 +45,20 @@ if getargbool 0 rd.iscsi.firmware -d -y iscsi_firmware ; then
     done
 
     if ! [ -e /tmp/iscsistarted-firmware ]; then
-        iscsistart -b $iscsi_param
+        if ! iscsistart -f | vinfo; then
+            warn "iscistart: Could not get list of targets from firmware."
+            exit 1
+        fi
+
+        if ! iscsistart -b $iscsi_param 2>&1 | vinfo; then
+            warn "\`iscsistart -b $iscsi_param\ยด failed"
+            exit 1
+        fi
         echo 'started' > "/tmp/iscsistarted-iscsi"
         echo 'started' > "/tmp/iscsistarted-firmware"
         need_shutdown
     fi
+
     [ "$netif" = dummy ] && exit 0
 fi
 
index 77bd99131cdcf206ac51bc2ed546ee9c5801194f..e463addbc53c671881f646e3b26187040b35cd35 100755 (executable)
@@ -64,7 +64,7 @@ if [ -n "$iscsi_firmware" ] ; then
     netroot=${netroot:-iscsi}
     modprobe -q iscsi_boot_sysfs 2>/dev/null
     modprobe -q iscsi_ibft
-    initqueue --onetime --settled /sbin/iscsiroot dummy "$netroot" "$NEWROOT"
+    initqueue --settled /sbin/iscsiroot dummy "$netroot" "$NEWROOT"
 fi
 
 # If it's not iscsi we don't continue