Add wait_freeing helper function to ZTS

Sometimes the ZTS checks freed space just after `zfs destroy snapshot` and
gets an unexpected value because of space being freed asynchronously.
For cases like this add a `wait_freeing` function which blocks until the
pools `freeing` property drops to zero.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Melikov <mail@gmelikov.ru>
Closes #5740
This commit is contained in:
George Melikov
2017-02-09 02:27:37 +03:00
committed by Brian Behlendorf
parent d32d25c5c2
commit d834b9ce5b
3 changed files with 18 additions and 0 deletions
+14
View File
@@ -3078,3 +3078,17 @@ function sync_pool #pool
log_must $SLEEP 2
done
}
#
# Wait for zpool 'freeing' property drops to zero.
#
# $1 pool name
#
function wait_freeing #pool
{
typeset pool=${1:-$TESTPOOL}
while true; do
[[ "0" == "$($ZPOOL list -Ho freeing $pool)" ]] && break
log_must $SLEEP 1
done
}