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
@@ -92,6 +92,8 @@ function set_n_check_prop
log_mustnot $ZFS set $prop=$expect_value $dataset
[[ -n $prop ]] && cur_value=$(get_prop $prop $dataset)
wait_freeing
if [[ "$expect_value" != "" && "$cur_value" != "$old_value" ]];
then
@@ -88,6 +88,8 @@ while [[ $i -lt $COUNT ]]; do
(( i = i + 1 ))
done
wait_freeing $TESTPOOL
new_size=`get_prop available $TESTPOOL`
typeset -i tolerance=0