From: Brian Behlendorf Date: Tue, 6 Jun 2017 18:30:47 +0000 (-0700) Subject: Reduce async_destroy_001_pos memory requirements X-Git-Tag: zfs-0.7.0-rc5~64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca8b210744ab7507cf7a27aeb246520d377f2fce;p=zfs Reduce async_destroy_001_pos memory requirements The number of blocks which can be freed per TXG is controlled by the zfs_free_max_blocks module option (defaults to 100,000). Both speed up this test case and reduce the memory requirements by only creating 4 TXGs worth of blocks to be freed. Reviewed-by: George Melikov Reviewed-by: Giuseppe Di Natale Signed-off-by: Brian Behlendorf Issue #5479 Closes #6192 --- diff --git a/tests/zfs-tests/tests/functional/features/async_destroy/async_destroy_001_pos.ksh b/tests/zfs-tests/tests/functional/features/async_destroy/async_destroy_001_pos.ksh index b9f1837d6..7258e635b 100755 --- a/tests/zfs-tests/tests/functional/features/async_destroy/async_destroy_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/features/async_destroy/async_destroy_001_pos.ksh @@ -46,11 +46,6 @@ TEST_FS=$TESTPOOL/async_destroy verify_runnable "both" -# See issue: https://github.com/zfsonlinux/zfs/issues/5479 -if is_kmemleak; then - log_unsupported "Test case runs slowly when kmemleak is enabled" -fi - function cleanup { datasetexists $TEST_FS && log_must zfs destroy $TEST_FS @@ -61,8 +56,11 @@ log_assert "async_destroy can suspend and resume traversal" log_must zfs create -o recordsize=512 -o compression=off $TEST_FS -# Fill with 1G -log_must dd bs=1024k count=1024 if=/dev/zero of=/$TEST_FS/file +# Create enough blocks that it will take 4 TXGs to free them all. +typeset zfs_free_max_blocks=100000 +typeset blocks=$((zfs_free_max_blocks * 4 * 512 / 1024 / 1024)) + +log_must dd bs=1024k count=$blocks if=/dev/zero of=/$TEST_FS/file log_must zfs destroy $TEST_FS diff --git a/tests/zfs-tests/tests/functional/features/async_destroy/setup.ksh b/tests/zfs-tests/tests/functional/features/async_destroy/setup.ksh index 3decfbfe0..d275e063b 100755 --- a/tests/zfs-tests/tests/functional/features/async_destroy/setup.ksh +++ b/tests/zfs-tests/tests/functional/features/async_destroy/setup.ksh @@ -31,10 +31,6 @@ . $STF_SUITE/include/libtest.shlib -if is_32bit; then - log_unsupported "Test case fails on 32-bit systems" -fi - DISK=${DISKS%% *} default_setup $DISK