Blame 0058-95iscsi-parse-output-from-iscsiadm-correctly.patch

Harald Hoyer b94732
From cd72830807e231f8a88bd81c8f2df951c5a6d33e Mon Sep 17 00:00:00 2001
Harald Hoyer b94732
From: Hannes Reinecke <hare@suse.de>
Harald Hoyer b94732
Date: Thu, 11 Dec 2014 15:46:19 +0100
Harald Hoyer b94732
Subject: [PATCH] 95iscsi: parse output from iscsiadm correctly
Harald Hoyer b94732
Harald Hoyer b94732
Due to some obsure reason the IFS parameter is not set correctly
Harald Hoyer b94732
when evaluating get_ibft_mod(). So change the parsing to not rely
Harald Hoyer b94732
on IFS altogether.
Harald Hoyer b94732
Harald Hoyer b94732
References: bnc#886199
Harald Hoyer b94732
Harald Hoyer b94732
Signed-off-by: Hannes Reinecke <hare@suse.de>
Harald Hoyer b94732
Signed-off-by: Thomas Renninger <trenn@suse.de>
Harald Hoyer b94732
---
Harald Hoyer b94732
 modules.d/95iscsi/module-setup.sh | 13 +++++++------
Harald Hoyer b94732
 1 file changed, 7 insertions(+), 6 deletions(-)
Harald Hoyer b94732
Harald Hoyer b94732
diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
Harald Hoyer b94732
index 9975e59..f13119f 100755
Harald Hoyer b94732
--- a/modules.d/95iscsi/module-setup.sh
Harald Hoyer b94732
+++ b/modules.d/95iscsi/module-setup.sh
Harald Hoyer b94732
@@ -30,15 +30,16 @@ check() {
Harald Hoyer b94732
 
Harald Hoyer b94732
 get_ibft_mod() {
Harald Hoyer b94732
     local ibft_mac=$1
Harald Hoyer b94732
+    local iface_mac iface_mod
Harald Hoyer b94732
     # Return the iSCSI offload module for a given MAC address
Harald Hoyer b94732
-    iscsiadm -m iface | while read iface_name iface_desc ; do
Harald Hoyer b94732
-        IFS=$','
Harald Hoyer b94732
-        set -- $iface_desc
Harald Hoyer b94732
-        if [ "$ibft_mac" = "$2" ] ; then
Harald Hoyer b94732
-            echo $1
Harald Hoyer b94732
+    for iface_desc in $(iscsiadm -m iface | cut -f 2 -d ' '); do
Harald Hoyer b94732
+        iface_mod=${iface_desc%%,*}
Harald Hoyer b94732
+        iface_mac=${iface_desc#*,}
Harald Hoyer b94732
+        iface_mac=${iface_mac%%,*}
Harald Hoyer b94732
+        if [ "$ibft_mac" = "$iface_mac" ] ; then
Harald Hoyer b94732
+            echo $iface_mod
Harald Hoyer b94732
             return 0
Harald Hoyer b94732
         fi
Harald Hoyer b94732
-        unset IFS
Harald Hoyer b94732
     done
Harald Hoyer b94732
 }
Harald Hoyer b94732