lszfcp: add new output marker for non-good FCP devices (hosts)

Shows potential issues with FCP devices at one glance.

Examples:

$ lszfcp -He
0.0.5000 host1 offline
0.0.50c0 host6 failed
0.0.3c40 host7 defunct

$ lszfcp -HeV
/sys/devices/css0/0.0.0223/0.0.5000 offline
/sys/class/fc_host/host1
/sys/class/scsi_host/host1
/sys/devices/css0/0.0.0226/0.0.50c0 failed
/sys/class/fc_host/host6
/sys/class/scsi_host/host6
/sys/devices/css0/defunct/0.0.3c40 defunct
/sys/class/fc_host/host7
/sys/class/scsi_host/host7

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Steffen Maier
2019-02-21 18:38:45 +01:00
committed by Jan Höppner
parent a236180ad8
commit 4036e80b26

View File

@@ -159,10 +159,24 @@ $(ls -dX $SYSFS/devices/css[0-9]*/defunct/[0-9]*/host[0-9]* 2>/dev/null)"
[ $ADAPTER != ${PAR_BUSID:-$ADAPTER} ] && continue
read ONLINE < $ADAPTER_PATH/online
[ -r $ADAPTER_PATH/failed ] && read FAILED < $ADAPTER_PATH/failed
DEFUNCT=${ADAPTER_PATH%/*} # strip devbusid
DEFUNCT=${DEFUNCT##*/} # basename
HOSTMARKER=""
if $SHOW_EXTENDED; then
if [ "$DEFUNCT" = "defunct" ]; then
HOSTMARKER=" defunct"
elif [ "$ONLINE" = "0" ]; then
HOSTMARKER=" offline"
elif [ "$FAILED" = "1" ]; then
HOSTMARKER=" failed"
fi
fi
if [ $VERBOSITY -eq 0 ]; then
echo $ADAPTER $SCSI_HOST
echo $ADAPTER $SCSI_HOST$HOSTMARKER
else
echo $ADAPTER_PATH
echo $ADAPTER_PATH$HOSTMARKER
$FC_CLASS && echo "$SYSFS/class/fc_host/$SCSI_HOST"
echo "$SYSFS/class/scsi_host/$SCSI_HOST"
fi