summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorGiuseppe Di Natale <[email protected]>2017-06-05 13:52:15 -0400
committerBrian Behlendorf <[email protected]>2017-06-05 10:52:15 -0700
commit099700d9dff46309cdd16f4c4331daddb70d8570 (patch)
tree13383ee2af7cc69b0f790b3c3f70fbc61ae074fb /scripts
parent92aceb2a7ee8c9367fdc901fed933f6f258173e0 (diff)
zpool iostat/status -c improvements
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 <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Giuseppe Di Natale <[email protected]> Closes #6121 Closes #6153
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/zfs-helpers.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/zfs-helpers.sh b/scripts/zfs-helpers.sh
index 0354cc0ed..d2da575f4 100755
--- a/scripts/zfs-helpers.sh
+++ b/scripts/zfs-helpers.sh
@@ -14,6 +14,7 @@
# --with-mounthelperdir=DIR install mount.zfs in dir [/sbin]
# --with-udevdir=DIR install udev helpers [default=check]
# --with-udevruledir=DIR install udev rules [default=UDEVDIR/rules.d]
+# --sysconfdir=DIR install zfs configuration files [PREFIX/etc]
#
basedir="$(dirname $0)"
@@ -96,6 +97,7 @@ if [ "$VERBOSE" ]; then
echo "udevdir: $udevdir"
echo "udevruledir: $udevruledir"
echo "mounthelperdir: $mounthelperdir"
+ echo "sysconfdir: $sysconfdir"
echo "DRYRUN: $DRYRUN"
echo
fi
@@ -114,6 +116,7 @@ install() {
msg "ln -s $src $dst"
if [ ! "$DRYRUN" ]; then
+ mkdir -p $(dirname $dst) &>/dev/null
ln -s $src $dst
fi
fi
@@ -125,6 +128,7 @@ remove() {
if [ -h $dst ]; then
msg "rm $dst"
rm $dst
+ rmdir $(dirname $dst) &>/dev/null
fi
}
@@ -136,6 +140,7 @@ if [ ${INSTALL} ]; then
install $UDEVRULEDIR/60-zvol.rules $udevruledir/60-zvol.rules
install $UDEVRULEDIR/69-vdev.rules $udevruledir/69-vdev.rules
install $UDEVRULEDIR/90-zfs.rules $udevruledir/90-zfs.rules
+ install $CMDDIR/zpool/zpool.d $sysconfdir/zfs/zpool.d
else
remove $mounthelperdir/mount.zfs
remove $mounthelperdir/fsck.zfs
@@ -144,6 +149,7 @@ else
remove $udevruledir/60-zvol.rules
remove $udevruledir/69-vdev.rules
remove $udevruledir/90-zfs.rules
+ remove $sysconfdir/zfs/zpool.d
fi
exit 0