summaryrefslogtreecommitdiffstats
path: root/modules.d/95lunmask/fc_transport_scan_lun.sh
blob: d14d2ca1b1ca87c863d683b5a073331b71989a67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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