From 68021e85c982e62dd4082accf024b84da040f450 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 25 Feb 2016 20:58:13 +0800 Subject: [PATCH] 95iscsi: parse output from iscsiadm correctly Due to some obsure reason the IFS parameter is not set correctly when evaluating get_ibft_mod(). So change the parsing to not rely on IFS altogether. References: bnc#886199 Signed-off-by: Hannes Reinecke Signed-off-by: Thomas Renninger --- modules.d/95iscsi/module-setup.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh index 64c9c1d..b1f5c6c 100755 --- a/modules.d/95iscsi/module-setup.sh +++ b/modules.d/95iscsi/module-setup.sh @@ -31,15 +31,16 @@ check() { get_ibft_mod() { local ibft_mac=$1 + local iface_mac iface_mod # Return the iSCSI offload module for a given MAC address - iscsiadm -m iface | while read iface_name iface_desc ; do - IFS=$',' - set -- $iface_desc - if [ "$ibft_mac" = "$2" ] ; then - echo $1 + for iface_desc in $(iscsiadm -m iface | cut -f 2 -d ' '); do + iface_mod=${iface_desc%%,*} + iface_mac=${iface_desc#*,} + iface_mac=${iface_mac%%,*} + if [ "$ibft_mac" = "$iface_mac" ] ; then + echo $iface_mod return 0 fi - unset IFS done }