From ca8b210744ab7507cf7a27aeb246520d377f2fce Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Tue, 6 Jun 2017 11:30:47 -0700 Subject: [PATCH] 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 --- .../features/async_destroy/async_destroy_001_pos.ksh | 12 +++++------- .../functional/features/async_destroy/setup.ksh | 4 ---- 2 files changed, 5 insertions(+), 11 deletions(-) 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 b9f1837d622c..7258e635bca6 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 3decfbfe00d0..d275e063b13a 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