Date: Wed, 16 Dec 2015 21:03:52 +0000 (UTC) From: Alan Somers <asomers@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r292368 - in projects/zfsd/head/tests/sys/cddl/zfs: include tests/cli_root/zpool_clear Message-ID: <201512162103.tBGL3q1A075307@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: asomers Date: Wed Dec 16 21:03:52 2015 New Revision: 292368 URL: https://svnweb.freebsd.org/changeset/base/292368 Log: Account for the fact that zpool clear can race error stat bumps. tests/sys/cddl/zfs/include/libtest.kshlib tests/sys/cddl/zfs/tests/cli_root/zpool_clear/zpool_clear_001_pos.ksh zfs_ioc_clear resets error counts, but background processes may re-increment them. For the purposes of this test, it only fails if the test doesn't reset. Submitted by: Will Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_clear/zpool_clear_001_pos.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib Wed Dec 16 20:56:10 2015 (r292367) +++ projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib Wed Dec 16 21:03:52 2015 (r292368) @@ -1744,6 +1744,18 @@ function pool_has_errors # pool [errors] } # +# Returns whether clearing $pool at $vdev (if given) succeeds. +# +function pool_clear_succeeds +{ + typeset pool="$1" + typeset vdev=$2 + + $ZPOOL clear $pool $vdev + ! pool_has_errors $pool +} + +# # Return whether the pool is healthy # function is_pool_healthy # pool Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_clear/zpool_clear_001_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_clear/zpool_clear_001_pos.ksh Wed Dec 16 20:56:10 2015 (r292367) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_clear/zpool_clear_001_pos.ksh Wed Dec 16 21:03:52 2015 (r292368) @@ -88,8 +88,9 @@ function test_clear wait_for 20 1 is_pool_scrubbed $TESTPOOL1 log_must pool_has_errors $TESTPOOL1 - log_must $ZPOOL clear $TESTPOOL1 $vdev_arg - log_mustnot pool_has_errors $TESTPOOL1 + # zpool clear races with things that set error counts; try several + # times in case that race is hit. + wait_for 10 1 pool_clear_succeeds $TESTPOOL1 $vdev_arg } for devconf in "${poolconf[@]}"; do
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512162103.tBGL3q1A075307>