File 0305-95iscsi-Do-not-require-network-for-qla4xxx-flash-ses.patch of Package dracut.6322
@@ -, +, @@
---
--- dracut-037/modules.d/95iscsi/module-setup.sh
+++ dracut-037/modules.d/95iscsi/module-setup.sh
@@ -45,8 +45,8 @@ install_ibft() {
install_iscsiroot() {
local devpath=$1
- local scsi_path iscsi_lun session c d conn
- local iscsi_session iscsi_address iscsi_port iscsi_targetname iscsi_tpgt
+ local scsi_path iscsi_lun session c d conn host flash
+ local iscsi_session iscsi_address iscsi_port iscsi_targetname iscsi_tpgt iscsi_host
scsi_path=${devpath%%/block*}
[ "$scsi_path" = "$devpath" ] && return 1
@@ -56,6 +56,19 @@ install_iscsiroot() {
[ "$session" = "$devpath" ] && return 1
iscsi_session=${session##*/}
[ "$iscsi_session" = "$session" ] && return 1
+ host=${session%%/session*}
+ [ "$host" = "$session" ] && return 1
+ iscsi_host=${host##*/}
+
+ for flash in ${host}/flashnode_sess-* ; do
+ is_boot=$(cat $flash/is_boot_target)
+ if [ $is_boot -eq 1 ] ; then
+ # qla4xxx flashnode session; skip iBFT discovery
+ iscsi_initiator=$(cat /sys/class/iscsi_host/${iscsi_host}/initiatorname)
+ echo "rd.iscsi.initiator=${iscsi_initiator}"
+ return;
+ fi
+ done
for d in ${session}/* ; do
case $d in
@@ -110,6 +123,7 @@ install_iscsiroot() {
# can sort out rd.iscsi.initiator= duplicates
echo "rd.iscsi.initiator=${iscsi_initiator}"
echo "netroot=iscsi:${iscsi_address}::${iscsi_port}:${iscsi_lun}:${iscsi_targetname}"
+ echo "rd.neednet=1"
fi
return 0
}