53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Print SCSI Enclosure Services (SES) info. The output is dependent on the name
|
|
# of the script/symlink used to call it.
|
|
#
|
|
helpstr="
|
|
enc: Show disk enclosure w:x:y:z value.
|
|
slot: Show disk slot number as reported by the enclosure.
|
|
encdev: Show the /dev/sg* device for the enclosure associated with the disk slot.
|
|
fault_led: Show the value of the disk enclosure slot fault LED.
|
|
locate_led: Show the value of the disk enclosure slot locate LED.
|
|
ses: Show disk's enclosure, enclosure dev, slot number, and fault/locate LED values."
|
|
|
|
script=$(basename "$0")
|
|
if [ "$1" = "-h" ] ; then
|
|
echo "$helpstr" | grep "$script:" | tr -s '\t' | cut -f 2-
|
|
exit
|
|
fi
|
|
|
|
if [ "$script" = "ses" ] ; then
|
|
scripts='enc encdev slot fault_led locate_led'
|
|
else
|
|
scripts="$script"
|
|
fi
|
|
|
|
for i in $scripts ; do
|
|
if [ -z "$VDEV_ENC_SYSFS_PATH" ] ; then
|
|
echo "$i="
|
|
continue
|
|
fi
|
|
|
|
val=""
|
|
case $i in
|
|
enc)
|
|
val=$(ls "$VDEV_ENC_SYSFS_PATH/../../" 2>/dev/null)
|
|
;;
|
|
slot)
|
|
val=$(cat "$VDEV_ENC_SYSFS_PATH/slot" 2>/dev/null)
|
|
;;
|
|
encdev)
|
|
val=$(ls "$VDEV_ENC_SYSFS_PATH/../device/scsi_generic" 2>/dev/null)
|
|
;;
|
|
fault_led)
|
|
val=$(cat "$VDEV_ENC_SYSFS_PATH/fault" 2>/dev/null)
|
|
;;
|
|
locate_led)
|
|
val=$(cat "$VDEV_ENC_SYSFS_PATH/locate" 2>/dev/null)
|
|
;;
|
|
esac
|
|
echo "$i=$val"
|
|
done
|
|
|