35 lines
587 B
Bash
Executable File
35 lines
587 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Print out the type of device
|
|
#
|
|
|
|
if [ "$1" = "-h" ] ; then
|
|
echo "Show whether a vdev is a file, hdd, ssd, or iscsi."
|
|
exit
|
|
fi
|
|
|
|
if [ -b "$VDEV_UPATH" ]; then
|
|
device=$(basename "$VDEV_UPATH")
|
|
val=$(cat "/sys/block/$device/queue/rotational" 2>/dev/null)
|
|
if [ "$val" = "0" ]; then
|
|
MEDIA="ssd"
|
|
fi
|
|
|
|
if [ "$val" = "1" ]; then
|
|
MEDIA="hdd"
|
|
fi
|
|
|
|
vpd_pg83="/sys/block/$device/device/vpd_pg83"
|
|
if [ -f "$vpd_pg83" ]; then
|
|
if grep -q --binary "iqn." "$vpd_pg83"; then
|
|
MEDIA="iscsi"
|
|
fi
|
|
fi
|
|
else
|
|
if [ -f "$VDEV_UPATH" ]; then
|
|
MEDIA="file"
|
|
fi
|
|
fi
|
|
|
|
echo "media=$MEDIA"
|