]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(lunmask): shellcheck for modules.d/95lunmask
authorHarald Hoyer <harald@redhat.com>
Fri, 26 Mar 2021 09:29:27 +0000 (10:29 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Mon, 29 Mar 2021 11:36:38 +0000 (13:36 +0200)
modules.d/95lunmask/.shchkdir [new file with mode: 0644]
modules.d/95lunmask/fc_transport_scan_lun.sh
modules.d/95lunmask/module-setup.sh
modules.d/95lunmask/parse-lunmask.sh
modules.d/95lunmask/sas_transport_scan_lun.sh

diff --git a/modules.d/95lunmask/.shchkdir b/modules.d/95lunmask/.shchkdir
new file mode 100644 (file)
index 0000000..e69de29
index aaa035a80a68e193e23e6d7335cc6b25710e9071..07d8a528bf9d33cc3076edebbb5422c6d41fb7d7 100755 (executable)
@@ -8,7 +8,7 @@
 #    PROGRAM="fc_transport_lun_scan lun"
 #
 
-[ -z $DEVPATH ] && exit 1
+[ -z "$DEVPATH" ] && exit 1
 
 if [ -n "$1" ]; then
     LUN=$1
@@ -19,8 +19,8 @@ ID=${DEVPATH##*/rport-}
 HOST=${ID%%:*}
 CHANNEL=${ID%%-*}
 CHANNEL=${CHANNEL#*:}
-if [ -f /sys$DEVPATH/scsi_target_id ]; then
-    TARGET=$(cat /sys$DEVPATH/scsi_target_id)
+if [ -f /sys"$DEVPATH"/scsi_target_id ]; then
+    TARGET=$(cat /sys"$DEVPATH"/scsi_target_id)
 fi
 [ -z "$TARGET" ] && exit 1
-echo $CHANNEL $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
+echo "$CHANNEL" "$TARGET" $LUN > /sys/class/scsi_host/host"$HOST"/scan
index 0860483770bb9f6f305bee20d426c2e12d71c460..e4f5bdb29d2af77c3427517a2867b82ed1f3f45f 100755 (executable)
@@ -6,11 +6,11 @@
 cmdline() {
     get_lunmask() {
         local _dev=$1
-        local _devpath=$(
-            cd -P /sys/dev/block/$_dev
-            echo $PWD
+        local _devpath _sdev _lun _rport _end_device _classdev _wwpn _sas_address
+        _devpath=$(
+            cd -P /sys/dev/block/"$_dev" || exit
+            echo "$PWD"
         )
-        local _sdev _lun _rport _end_device _classdev _wwpn _sas_address
 
         [ "${_devpath#*/sd}" == "$_devpath" ] && return 1
         _sdev="${_devpath%%/block/*}"
@@ -21,7 +21,7 @@ cmdline() {
             _rport="${_rport%%/*}"
             _classdev="/sys/class/fc_remote_ports/rport-${_rport}"
             [ -d "$_classdev" ] || return 1
-            _wwpn=$(cat ${_classdev}/port_name)
+            _wwpn=$(cat "${_classdev}"/port_name)
             echo "rd.lunmask=fc,${_wwpn},${_lun}"
             return 0
         fi
@@ -31,7 +31,7 @@ cmdline() {
             _end_device="${_end_device%%/*}"
             _classdev="/sys/class/sas_device/end_device-${_end_device}"
             [ -e "$_classdev" ] || return 1
-            _sas_address=$(cat ${_classdev}/sas_address)
+            _sas_address=$(cat "${_classdev}"/sas_address)
             echo "rd.lunmask=sas,${_sas_address},${_lun}"
             return 0
         fi
index 9e1f7010fa46a430b37cb59ed7b916b5bb4a98c9..033572524d2c72ea4d6518db191353f70c92754d 100755 (executable)
@@ -7,17 +7,16 @@ create_udev_rule() {
     local tgtid=$2
     local lun=$3
     local _rule=/etc/udev/rules.d/51-${transport}-lunmask-${tgtid}.rules
-    local _cu_type _dev_type
 
-    [ -e ${_rule} ] && return 0
+    [ -e "${_rule}" ] && return 0
 
     if [ ! -f "$_rule" ]; then
         if [ "$transport" = "fc" ]; then
-            cat > $_rule << EOF
+            cat > "$_rule" << EOF
 ACTION=="add", SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="$tgtid", PROGRAM="fc_transport_scan_lun.sh $lun"
 EOF
         elif [ "$transport" = "sas" ]; then
-            cat > $_rule << EOF
+            cat > "$_rule" << EOF
 ACTION=="add", SUBSYSTEM=="sas_device", ATTR{sas_address}=="$tgtid", PROGRAM="sas_transport_scan_lun.sh $lun"
 EOF
         fi
@@ -25,16 +24,11 @@ EOF
 }
 
 for lunmask_arg in $(getargs rd.lunmask); do
-    (
-        local OLDIFS="$IFS"
-        local IFS=","
-        set $lunmask_arg
-        IFS="$OLDIFS"
-        if [ -d /sys/module/scsi_mod ]; then
-            printf "manual" > /sys/module/scsi_mod/parameters/scan
-        elif [ ! -f /etc/modprobe.d/95lunmask.conf ]; then
-            echo "options scsi_mod scan=manual" > /etc/modprobe.d/95lunmask.conf
-        fi
-        create_udev_rule $1 $2 $3
-    )
+    IFS="," read -r -a _args <<< "$lunmask_arg"
+    if [ -d /sys/module/scsi_mod ]; then
+        printf "manual" > /sys/module/scsi_mod/parameters/scan
+    elif [ ! -f /etc/modprobe.d/95lunmask.conf ]; then
+        echo "options scsi_mod scan=manual" > /etc/modprobe.d/95lunmask.conf
+    fi
+    create_udev_rule "${_args[@]}"
 done
index dc83bee322e25f653ef46c972d5f44fcda4c68cc..b56848e6b3f5d1a12805f318db60be327126c75b 100755 (executable)
@@ -8,7 +8,7 @@
 #    PROGRAM="sas_transport_lun_scan lun"
 #
 
-[ -z $DEVPATH ] && exit 1
+[ -z "$DEVPATH" ] && exit 1
 
 if [ -n "$1" ]; then
     LUN=$1
@@ -19,8 +19,8 @@ ID=${DEVPATH##*/end_device-}
 HOST=${ID%%:*}
 CHANNEL=${ID%%-*}
 CHANNEL=${CHANNEL#*:}
-if [ -f /sys$DEVPATH/scsi_target_id ]; then
-    TARGET=$(cat /sys$DEVPATH/scsi_target_id)
+if [ -f /sys"$DEVPATH"/scsi_target_id ]; then
+    TARGET=$(cat /sys"$DEVPATH"/scsi_target_id)
 fi
 [ -z "$TARGET" ] && exit 1
-echo 0 $TARGET $LUN > /sys/class/scsi_host/host$HOST/scan
+echo 0 "$TARGET" $LUN > /sys/class/scsi_host/host"$HOST"/scan