summaryrefslogtreecommitdiffstats
path: root/modules.d/95lunmask/fc_transport_scan_lun.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/95lunmask/fc_transport_scan_lun.sh')
-rwxr-xr-xmodules.d/95lunmask/fc_transport_scan_lun.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/modules.d/95lunmask/fc_transport_scan_lun.sh b/modules.d/95lunmask/fc_transport_scan_lun.sh
new file mode 100755
index 0000000..d14d2ca
--- /dev/null
+++ b/modules.d/95lunmask/fc_transport_scan_lun.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# fc_transport_lun_scan
+#
+# Selectively enable individual LUNs behind an FC remote port
+#
+# ACTION=="add", SUBSYSTEM=="fc_transport", ATTR{port_name}=="wwpn", \
+# PROGRAM="fc_transport_lun_scan lun"
+#
+
+[ -z "$DEVPATH" ] && exit 1
+
+if [ -n "$1" ]; then
+ LUN=$1
+else
+ LUN=-
+fi
+ID=${DEVPATH##*/rport-}
+HOST=${ID%%:*}
+CHANNEL=${ID%%-*}
+CHANNEL=${CHANNEL#*:}
+if [ -f /sys"$DEVPATH"/scsi_target_id ]; then
+ read -r TARGET < /sys"$DEVPATH"/scsi_target_id
+fi
+[ -z "$TARGET" ] && exit 1
+echo "$CHANNEL" "$TARGET" $LUN > /sys/class/scsi_host/host"$HOST"/scan