]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fixup "Dracut: only login to one target at a time"
authorMartin Wilck <mwilck@suse.com>
Tue, 1 Oct 2019 10:02:04 +0000 (12:02 +0200)
committerHarald Hoyer <harald@hoyer.xyz>
Fri, 25 Oct 2019 07:18:12 +0000 (09:18 +0200)
On SLE15-SP1 at least, iscsiadm doesn't support combining --op and --login":

> # iscsiadm -m node -T iqn.2018-06.de.suse.zeus:01 --op=update  --name=node.startup --value=onboot --login
> iscsiadm: Invalid parameters. Login/logout and op passed in

This breaks iSCSI login in initrd, and thus, iSCSI boot.

Fix it by not coalescing everything into a single iscsiadm command.
Fixes: a59b776bc215 ("Dracut: only login to one target at a time")
References: bsc#1152650

modules.d/95iscsi/iscsiroot.sh

index 4ab0b6a03c2593b6ace3b77f4eb292b91441a0bf..6a12a108769f02b61c8f1b954106efe6c1b2a881 100755 (executable)
@@ -225,8 +225,8 @@ handle_netroot()
 
             CMD="iscsiadm -m node -T $target \
                      ${iscsi_iface_name:+-I $iscsi_iface_name} \
-                     -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} \
-                     --op=update \
+                     -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port}"
+            __op="--op=update \
                      --name=node.startup --value=onboot \
                      ${iscsi_username:+   --name=node.session.auth.username    --value=$iscsi_username} \
                      ${iscsi_password:+   --name=node.session.auth.password    --value=$iscsi_password} \
@@ -234,7 +234,7 @@ handle_netroot()
                      ${iscsi_in_password:+--name=node.session.auth.password_in --value=$iscsi_in_password} \
                      $EXTRA \
                      $NULL"
-            $CMD
+            $CMD $__op
             if [ "$netif" != "timeout" ]; then
                 $CMD --login
             fi