mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-19 10:51:00 +03:00
c1d3be19d7
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
34 lines
607 B
Bash
Executable File
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"
|