summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Caputi <[email protected]>2018-12-14 13:06:49 -0500
committerBrian Behlendorf <[email protected]>2018-12-14 10:06:49 -0800
commit7c46894081300410612a34f7c05377848b277dab (patch)
treee87c1b7208702558eab60184cfe6886355b78145
parent2a6078450db6437863f5ce32cfbb06f82e1beae7 (diff)
ZTS: fix wait_scrubbed()
Currently, wait_scrubbed() is the only function of its kind that accepts a timeout, which is 10s by default. This timeout is pretty short for a scrub and causes test failures if we run too long. This patch removes the timeout, instead leaning on the global test suite timeout to ensure the tests keep moving. Reviewed-by: Richard Elling <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Tom Caputi <[email protected]> Closes #8210
-rw-r--r--tests/zfs-tests/include/libtest.shlib13
-rwxr-xr-xtests/zfs-tests/tests/functional/fault/scrub_after_resilver.ksh2
2 files changed, 5 insertions, 10 deletions
diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib
index 2effa4207..482ab5ef5 100644
--- a/tests/zfs-tests/include/libtest.shlib
+++ b/tests/zfs-tests/include/libtest.shlib
@@ -1029,7 +1029,7 @@ function get_endslice #<disk> <slice>
((endcyl = (endcyl + 1) / ratio))
fi
-
+
echo $endcyl
}
@@ -3209,15 +3209,10 @@ function wait_replacing #pool
function wait_scrubbed
{
typeset pool=${1:-$TESTPOOL}
- typeset iter=${2:-10}
- typeset -i i=0
- for i in {1..$iter} ; do
- if is_pool_scrubbed $pool ; then
- return 0
- fi
- sleep 1
+ while true ; do
+ is_pool_scrubbed $pool && break
+ log_must sleep 1
done
- return 1
}
# Backup the zed.rc in our test directory so that we can edit it for our test.
diff --git a/tests/zfs-tests/tests/functional/fault/scrub_after_resilver.ksh b/tests/zfs-tests/tests/functional/fault/scrub_after_resilver.ksh
index 3b124bdd5..a5b58ec8f 100755
--- a/tests/zfs-tests/tests/functional/fault/scrub_after_resilver.ksh
+++ b/tests/zfs-tests/tests/functional/fault/scrub_after_resilver.ksh
@@ -60,5 +60,5 @@ log_must zpool replace $TESTPOOL $DISK1 $DISK3
# Wait for the resilver to finish, and then the subsequent scrub to finish.
# Waiting for the scrub has the effect of waiting for both. Timeout after 10
# seconds if nothing is happening.
-log_must wait_scrubbed $TESTPOOL 10
+log_must wait_scrubbed $TESTPOOL
log_pass "Successfully ran the scrub after resilver zedlet"