From owner-svn-src-projects@freebsd.org Fri Aug 4 22:40:27 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4CA3DCCBE3 for ; Fri, 4 Aug 2017 22:40:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8FBF07ED0A; Fri, 4 Aug 2017 22:40:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v74MeQmQ071136; Fri, 4 Aug 2017 22:40:26 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v74MeQdV071134; Fri, 4 Aug 2017 22:40:26 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201708042240.v74MeQdV071134@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 4 Aug 2017 22:40:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322068 - projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror X-SVN-Commit-Revision: 322068 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Aug 2017 22:40:27 -0000 Author: asomers Date: Fri Aug 4 22:40:26 2017 New Revision: 322068 URL: https://svnweb.freebsd.org/changeset/base/322068 Log: Fix multiple issues in scrub_mirror:scrub_mirror_003_pos. This test has never worked correctly. tests/sys/cddl/zfs/tests/scrub_mirror/scrub_mirror_common.kshlib * Fix usage of fill_fs. The arguments were passed in the wrong order, resulting in writes with absurdly low block sizes, causing the test to time out. * Look for the files in the correct location. fill_fs creates its files subdirectories, not directly in the directory passed as the first argument. * Don't bother to checksum nonexistent files * Remove an extraneous umount command * Remove some kshisms tests/sys/cddl/zfs/tests/scrub_mirror/default.cfg Define TESTFILE Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/default.cfg projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/scrub_mirror_common.kshlib Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/default.cfg ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/default.cfg Fri Aug 4 22:35:05 2017 (r322067) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/default.cfg Fri Aug 4 22:40:26 2017 (r322068) @@ -51,3 +51,4 @@ export MIRROR_MEGS=70 export MIRROR_SIZE=${MIRROR_MEGS}m # default mirror size export BLOCKSZ=$(( 64 * 1024 )) export WRITE_COUNT=$(( MIRROR_MEGS * 1024 * 1024 / BLOCKSZ )) +export TESTFILE=testfile${TESTCASE_ID} Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/scrub_mirror_common.kshlib ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/scrub_mirror_common.kshlib Fri Aug 4 22:35:05 2017 (r322067) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/scrub_mirror_common.kshlib Fri Aug 4 22:40:26 2017 (r322068) @@ -37,14 +37,15 @@ function overwrite_verify_mirror set -A cksums set -A newcksums - fill_fs $TESTDIR $FILE_COUNT $BLOCKSZ $WRITE_COUNT - while (( atfile < FILE_COUNT )); do - cksums[$atfile]=$($CKSUM ${TESTDIR}/${TESTFILE}.${i}) - (( atfile = atfile + 1 )) + fill_fs $TESTDIR -1 $FILE_COUNT $BLOCKSZ $WRITE_COUNT + while [ "$atfile" -lt "$FILE_COUNT" ]; do + if [ -f ${TESTDIR}/0/${TESTFILE}.${atfile} ]; then + cksums[$atfile]=$($CKSUM ${TESTDIR}/0/${TESTFILE}.${atfile}) + fi + (( atfile = $atfile + 1 )) done # unmount and export before dd - log_must $UMOUNT $TESTDIR log_must $ZPOOL export $POOL # dd the affected side of the mirror @@ -58,19 +59,21 @@ function overwrite_verify_mirror atfile=0 typeset -i failedcount=0 - while (( atfile < FILE_COUNT )); do - newcksum=$($CKSUM $TESTDIR/${TESTFILE}.${i}) - if [[ $newcksum != ${cksums[$atfile]} ]]; then - (( failedcount = failedcount + 1 )) - else - log_note "${TESTFILE}.${i} checksums match:"\ - "old ${cksums[$atfile]} new $newcksum" + while [ "$atfile" -lt "$FILE_COUNT" ]; do + if [ -f ${TESTDIR}/0/${TESTFILE}.${atfile} ]; then + newcksum=$($CKSUM $TESTDIR/0/${TESTFILE}.${atfile}) + if [[ $newcksum != ${cksums[$atfile]} ]]; then + (( failedcount = $failedcount + 1 )) + else + log_note "${TESTFILE}.${atfile} checksums match:"\ + "old ${cksums[$atfile]} new $newcksum" + fi + $RM -f ${files[$atfile]} fi - $RM -f ${files[$atfile]} - (( atfile = atfile + 1 )) + (( atfile = $atfile + 1 )) done - if (( $failedcount > 0 )); then + if [ "$failedcount" -gt 0 ]; then log_fail "of the $FILE_COUNT files $failedcount did not " \ "have the same checksum before and after." fi