]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
iscsi: add rd.iscsi_param
authorHarald Hoyer <harald@redhat.com>
Thu, 29 Mar 2012 09:54:42 +0000 (11:54 +0200)
committerHarald Hoyer <harald@redhat.com>
Thu, 29 Mar 2012 10:04:26 +0000 (12:04 +0200)
rd.iscsi_param is directly handed over to iscsistart as a --param option

dracut.cmdline.7.asc
modules.d/95iscsi/iscsiroot.sh

index bff2e280d1d03bf9ca97a303a3a06f5fa615b520..89b8c21514973a85d7dd223a438261860b2806ff 100644 (file)
@@ -358,6 +358,21 @@ netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
  will read the iscsi parameter from the BIOS firmware
 
+**rd.iscsi_param=**_<param>_::
+    <param> will be passed as "--param <param>" to iscsistart.
+    This parameter can be specified multiple times.
+    e.g.:
++
+----
+"netroot=iscsi iscsi_firmware rd.iscsi_param=node.session.timeo.replacement_timeout=30"
+----
++
+will result in
++
+----
+iscsistart -b --param node.session.timeo.replacement_timeout=30
+----
+
 FCoE
 ~~~~
 **fcoe=**_<edd|interface|MAC>_:_{dcb|nodcb}_::
index 57a3982f5a0d5ac67ff5a1afce634d37c9deb53a..dc0a6468ff5bd22847d5189fd462be9178aa49c8 100755 (executable)
@@ -46,7 +46,12 @@ if getargbool 0 rd.iscsi.firmware -y iscsi_firmware ; then
         printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules
         udevadm control --reload
     fi
-    iscsistart -b
+
+    for p in $(getargs rd.iscsi_param iscsi_param); do
+       iscsi_param="$iscsi_param --param $p"
+    done
+
+    iscsistart -b $iscsi_param
     exit 0
 fi
 
@@ -79,6 +84,9 @@ handle_netroot()
     [ -n "$arg" ] && iscsi_in_username=$arg
     arg=$(getargs rd.iscsi.in.password iscsi_in_password=)
     [ -n "$arg" ] && iscsi_in_password=$arg
+    for p in $(getargs rd.iscsi_param iscsi_param); do
+       iscsi_param="$iscsi_param --param $p"
+    done
 
     parse_iscsi_root "$1" || return 1
 
@@ -149,6 +157,7 @@ handle_netroot()
         ${iscsi_in_password+-W $iscsi_in_password} \
        ${iscsi_iface_name+--param iface.iscsi_ifacename=$iscsi_iface_name} \
        ${iscsi_netdev_name+--param iface.net_ifacename=$iscsi_netdev_name} \
+        ${iscsi_param} \
        || :
 }