diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_property/zfs_written_property_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_property/zfs_written_property_001_pos.ksh index 9a2d3cb80256..cbbacace1ec6 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_property/zfs_written_property_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_property/zfs_written_property_001_pos.ksh @@ -11,7 +11,7 @@ # # -# Copyright (c) 2012, 2016 by Delphix. All rights reserved. +# Copyright (c) 2012, 2017 by Delphix. All rights reserved. # # @@ -216,15 +216,15 @@ for ds in $datasets; do count=$blocks sync_pool done -recursive_output=$(zfs get -r written@current $TESTPOOL | \ +recursive_output=$(zfs get -p -r written@current $TESTPOOL | \ grep -v $TESTFS1@ | grep -v $TESTFS2@ | grep -v $TESTFS3@ | \ grep -v "VALUE" | grep -v "-") -expected="20.0M" +expected="$((20 * mb_block))" for ds in $datasets; do writtenat=$(echo "$recursive_output" | grep -v $ds/) writtenat=$(echo "$writtenat" | grep $ds | awk '{print $3}') - [[ $writtenat == $expected ]] || \ - log_fail "recursive written property output mismatch" + within_percent $writtenat $expected 99.5 || \ + log_fail "Unexpected written@ value on $ds" done log_pass "zfs written and written@ property fields print correct values"