mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
OpenZFS 9245 - zfs-test failures: slog_013_pos and slog_014_pos
Test 13 would fail because of attempts to zpool destroy -f a pool that was still busy. Changed those calls to destroy_pool which does a retry loop, and the problem is no longer reproducible. Also removed some non functional code in the test which is why it was originally commented out by placing it after the call to log_pass. Test 14 would fail because sometimes the check for a degraded pool would complete before the pool had changed state. Changed the logic to check in a loop with a timeout and the problem is no longer reproducible. Authored by: John Wren Kennedy <john.kennedy@delphix.com> Reviewed by: Matt Ahrens <matt@delphix.com> Reviewed by: Chris Williamson <chris.williamson@delphix.com> Reviewed by: Yuri Pankov <yuripv@yuripv.net> Reviewed-by: George Melikov <mail@gmelikov.ru> Approved by: Dan McDonald <danmcd@joyent.com> Ported-by: Brian Behlendorf <behlendorf1@llnl.gov> Porting Notes: * Re-enabled slog_013_pos.ksh OpenZFS-issue: https://illumos.org/issues/9245 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/8f323b5 Closes #7585
This commit is contained in:
committed by
Brian Behlendorf
parent
8a393be353
commit
ab44e511e2
@@ -2152,6 +2152,25 @@ function is_pool_removed #pool
|
||||
return $?
|
||||
}
|
||||
|
||||
function wait_for_degraded
|
||||
{
|
||||
typeset pool=$1
|
||||
typeset timeout=${2:-30}
|
||||
typeset t0=$SECONDS
|
||||
|
||||
while :; do
|
||||
[[ $(get_pool_prop health $pool) == "DEGRADED" ]] && break
|
||||
log_note "$pool is not yet degraded."
|
||||
sleep 1
|
||||
if ((SECONDS - t0 > $timeout)); then
|
||||
log_note "$pool not degraded after $timeout seconds."
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
#
|
||||
# Use create_pool()/destroy_pool() to clean up the information in
|
||||
# in the given disk to avoid slice overlapping.
|
||||
|
||||
Reference in New Issue
Block a user