mirror_zfs/cmd/zpool/zpool.d/media
Damian Szuberski c1d3be19d7
Add ShellCheck's --enable=all inside cmd/
The only exception is `cmd/vdev_id/vdev_id` which might be a subject of
refactoring (see #12084)

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: szubersk <szuberskidamian@gmail.com>
Closes #12912
2022-01-06 16:07:54 -08:00

34 lines
607 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
# shellcheck disable=SC2154
if [ -b "$VDEV_UPATH" ]; then
device="${VDEV_UPATH##*/}"
read -r val 2>/dev/null < "/sys/block/$device/queue/rotational"
case "$val" in
0) MEDIA="ssd" ;;
1) MEDIA="hdd" ;;
*) MEDIA="invalid" ;;
esac
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"