]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Fix io-spare.sh to work with disk vdevs
authorChris Dunlap <cdunlap@llnl.gov>
Fri, 10 Apr 2015 19:56:21 +0000 (12:56 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 17 Apr 2015 21:21:26 +0000 (14:21 -0700)
The "zpool status" output shows the full pathname for file-type vdevs,
but only the basename component for disk-type vdevs.  In commit
bee6665, the "basename" command was dropped from altering the vdev
name used when searching the "zpool status" output.  Consequently,
hot-disk sparing for disk vdevs broke since "zpool status" output
was now being searched for the full pathname to the disk vdev.

Parsing the "zpool status" output in this manner is rather brittle.
It would be preferable to search for the vdev based on its guid.
But until that happens, this commit adds back the "basename" command
to fix the vdev name breakage.

Signed-off-by: Chris Dunlap <cdunlap@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3310

cmd/zed/zed.d/io-spare.sh

index 2fcbfb79131ee1cf5f27a35ece1539d17bae0a40..b64b2a9f1160697c64e0b716d3d534796494725b 100755 (executable)
@@ -54,7 +54,7 @@ flock -x 8
 # Given a <pool> and <device> return the status, (ONLINE, FAULTED, etc...).
 vdev_status() {
        local POOL=$1
-       local VDEV=$2
+       local VDEV=`basename $2`
        local T='       '       # tab character since '\t' isn't portable
 
        ${ZPOOL} status ${POOL} | sed -n -e \