Date: Fri, 4 Aug 2017 22:40:26 +0000 (UTC) From: Alan Somers <asomers@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322068 - projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror Message-ID: <201708042240.v74MeQdV071134@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708042240.v74MeQdV071134>