You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.5 KiB
66 lines
2.5 KiB
From 937456c65b0e641a6494a39acb5a001b2c9ed992 Mon Sep 17 00:00:00 2001 |
|
From: Harald Hoyer <harald@redhat.com> |
|
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 738fff44..ef090f7f 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 0c8b524b..77bd9913 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 4c299564..f5977839 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
|
|
|