099700d9df
Users can now provide their own scripts to be run with 'zpool iostat/status -c'. User scripts should be placed in ~/.zpool.d to be included in zpool's default search path. Provide a script which can be used with 'zpool iostat|status -c' that will return the type of device (hdd, sdd, file). Provide a script to get various values from smartctl when using 'zpool iostat/status -c'. Allow users to define the ZPOOL_SCRIPTS_PATH environment variable which can be used to override the default 'zpool iostat/status -c' search path. Allow the ZPOOL_SCRIPTS_ENABLED environment variable to enable or disable 'zpool status/iostat -c' functionality. Use the new smart script to provide the serial command. Install /etc/sudoers.d/zfs file which contains the sudoer rule for smartctl as a sample. Allow 'zpool iostat/status -c' tests to run in tree. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov> Closes #6121 Closes #6153
28 lines
430 B
Bash
Executable File
28 lines
430 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, or ssd."
|
|
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
|
|
else
|
|
if [ -f "$VDEV_UPATH" ]; then
|
|
MEDIA="file"
|
|
fi
|
|
fi
|
|
|
|
echo "media=$MEDIA"
|