47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# config file syntax:
|
||
|
# deviceno WWPN FCPLUN
|
||
|
#
|
||
|
# Example:
|
||
|
# 0.0.4000 0x5005076300C213e9 0x5022000000000000
|
||
|
# 0.0.4001 0x5005076300c213e9 0x5023000000000000
|
||
|
#
|
||
|
#
|
||
|
# manual setup:
|
||
|
# modprobe zfcp
|
||
|
# echo WWPN > /sys/bus/ccw/drivers/zfcp/0.0.4000/port_add
|
||
|
# echo LUN > /sys/bus/ccw/drivers/zfcp/0.0.4000/WWPN/unit_add
|
||
|
# echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.4000/online
|
||
|
#
|
||
|
# Example:
|
||
|
# modprobe zfcp
|
||
|
# echo 0x5005076300c213e9 > /sys/bus/ccw/drivers/zfcp/0.0.4000/port_add
|
||
|
# echo 0x5022000000000000 > /sys/bus/ccw/drivers/zfcp/0.0.4000/0x5005076300c213e9/unit_add
|
||
|
# echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.4000/online
|
||
|
|
||
|
CONFIG=/etc/zfcp.conf
|
||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||
|
|
||
|
if [ -f "$CONFIG" ]; then
|
||
|
|
||
|
if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
|
||
|
modprobe zfcp
|
||
|
fi
|
||
|
if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
|
||
|
return
|
||
|
fi
|
||
|
cat $CONFIG | grep -v "^#" | tr "A-Z" "a-z" | while read line; do
|
||
|
numparams=$(echo $line | wc -w)
|
||
|
if [ $numparams == 5 ]; then
|
||
|
read DEVICE SCSIID WWPN SCSILUN FCPLUN < <(echo $line)
|
||
|
echo "Warning: Deprecated values in /etc/zfcp.conf, ignoring SCSI ID $SCSIID and SCSI LUN $SCSILUN"
|
||
|
elif [ $numparams == 3 ]; then
|
||
|
read DEVICE WWPN FCPLUN < <(echo $line)
|
||
|
fi
|
||
|
[ ! -d /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/$WWPN ] && echo $WWPN > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/port_add
|
||
|
[ ! -d /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/$WWPN/$FCPLUN ] && echo $FCPLUN > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/$WWPN/unit_add
|
||
|
echo 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/online
|
||
|
done
|
||
|
fi
|