diff options
author | Tony Hutter <[email protected]> | 2016-11-29 13:45:38 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-11-29 14:45:38 -0700 |
commit | 8720e9e7482fa2dce4f34c56d3c7451833413d7d (patch) | |
tree | 2475bb498ab7bc8e5fb016dbca1a337d10f257c5 /config | |
parent | 2f71caf2d926249920d1b9162550c56715cc6461 (diff) |
Add -c to zpool iostat & status to run command
This patch adds a command (-c) option to zpool status and zpool iostat. The
-c option allows you to run an arbitrary command on each vdev and display
the first line of output in zpool status/iostat. The environment vars
VDEV_PATH and VDEV_UPATH are set to the vdev's path and "underlying path"
before running the command. For device mapper, multipath, or partitioned
vdevs, VDEV_UPATH is the actual underlying /dev/sd* disk. This can be useful
if the command you're running requires a /dev/sd* device.
The patch also uses /sys/block/<dev>/slaves/ to lookup the underlying device
instead of using libdevmapper. This not only removes the libdevmapper
requirement at build time, but also allows you to resolve device mapper
devices without being root. This means that UDEV_UPATH get set correctly
when running zpool status/iostat as an unprivileged user.
Example:
$ zpool status -c 'echo I am $VDEV_PATH, $VDEV_UPATH'
NAME STATE READ WRITE CKSUM
mypool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
mpatha ONLINE 0 0 0 I am /dev/mapper/mpatha, /dev/sdc
sdb ONLINE 0 0 0 I am /dev/sdb1, /dev/sdb
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Tony Hutter <[email protected]>
Closes #5368
Diffstat (limited to 'config')
-rw-r--r-- | config/user-libdevmapper.m4 | 15 | ||||
-rw-r--r-- | config/user.m4 | 1 |
2 files changed, 0 insertions, 16 deletions
diff --git a/config/user-libdevmapper.m4 b/config/user-libdevmapper.m4 deleted file mode 100644 index af4dd41c3..000000000 --- a/config/user-libdevmapper.m4 +++ /dev/null @@ -1,15 +0,0 @@ -dnl # -dnl # Check for libdevmapper. libdevmapper is optional for building, but -dnl # required for auto-online/auto-replace functionality for DM/multipath -dnl # disks. -dnl # -AC_DEFUN([ZFS_AC_CONFIG_USER_LIBDEVMAPPER], [ - AC_CHECK_HEADER([libdevmapper.h], [ - AC_SUBST([LIBDEVMAPPER], ["-ldevmapper"]) - AC_DEFINE([HAVE_LIBDEVMAPPER], 1, [Define if you have libdevmapper]) - - user_libdevmapper=yes - ], [ - user_libdevmapper=no - ]) -]) diff --git a/config/user.m4 b/config/user.m4 index 1d20642b8..f70ab635f 100644 --- a/config/user.m4 +++ b/config/user.m4 @@ -12,7 +12,6 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [ ZFS_AC_CONFIG_USER_LIBTIRPC ZFS_AC_CONFIG_USER_LIBBLKID ZFS_AC_CONFIG_USER_LIBATTR - ZFS_AC_CONFIG_USER_LIBDEVMAPPER ZFS_AC_CONFIG_USER_LIBUDEV ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN ZFS_AC_CONFIG_USER_RUNSTATEDIR |