aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Dunlap <[email protected]>2015-04-10 12:56:21 -0700
committerBrian Behlendorf <[email protected]>2015-04-17 14:21:26 -0700
commitde6d1976835959275fbdc00d74bb8fb86071f079 (patch)
tree97009ba30137c209fc83df8d8c0a8a00412d2221
parent7fad6290eb3aefc9cbb6a64e4cbe5371af53f726 (diff)
Fix io-spare.sh to work with disk vdevs
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 <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #3310
-rwxr-xr-xcmd/zed/zed.d/io-spare.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/cmd/zed/zed.d/io-spare.sh b/cmd/zed/zed.d/io-spare.sh
index 2fcbfb791..b64b2a9f1 100755
--- a/cmd/zed/zed.d/io-spare.sh
+++ b/cmd/zed/zed.d/io-spare.sh
@@ -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 \