mirror_zfs/cmd
Tony Hutter 8720e9e748 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 <dinatale2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #5368
2016-11-29 14:45:38 -07:00
..
arc_summary Correct style in arcstat and arc_summary 2016-10-06 10:04:54 -07:00
arcstat Correct exit code for dbufstat -v and arcstat -v 2016-10-06 10:52:21 -07:00
dbufstat Correct exit code for dbufstat -v and arcstat -v 2016-10-06 10:52:21 -07:00
fsck_zfs Add /sbin/fsck.zfs helper 2013-01-09 16:54:58 -08:00
mount_zfs Change /etc/mtab to /proc/self/mounts 2016-09-20 10:07:58 -07:00
raidz_test Add parity generation/rebuild using AVX-512 for x86-64 2016-11-02 12:40:23 -07:00
vdev_id Add extra keyword 'slot' to vdev_id.conf 2015-08-30 10:03:56 -07:00
zdb Fix coverity defects: CID 147511, 147513 2016-10-24 13:37:38 -07:00
zed Add -c to zpool iostat & status to run command 2016-11-29 14:45:38 -07:00
zfs Allow zfs unshare <protocol> -a 2016-11-29 12:22:38 -07:00
zhack Fix zhack argument processing 2016-08-31 14:32:46 -07:00
zinject Fix coverity defects: CID 147443, 147656, 147655, 147441, 147653 2016-09-29 13:33:09 -07:00
zpios Fix coverity defects: CID 147643, 152204, 49339 2016-10-18 10:43:22 -07:00
zpool Add -c to zpool iostat & status to run command 2016-11-29 14:45:38 -07:00
zstreamdump DLPX-40252 integrate EP-476 compressed zfs send/receive 2016-09-13 09:58:58 -07:00
ztest Fix coverity defects: CID 147606, 147609 2016-10-12 11:16:47 -07:00
zvol_id OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
Makefile.am SIMD implementation of vdev_raidz generate and reconstruct routines 2016-06-21 09:27:26 -07:00