From: fsgqa Date: Fri, 29 Aug 2003 06:04:54 +0000 (+0000) Subject: QA updates to enable simplified large filesystem testing X-Git-Tag: v1.1.0~930 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6c6ba523c29d78a009d237e2a019d65beb5fced8;p=users%2Fhch%2Fxfstests-dev.git QA updates to enable simplified large filesystem testing --- diff --git a/017 b/017 index 065fe8706..0da28fe72 100755 --- a/017 +++ b/017 @@ -60,6 +60,9 @@ trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15 _require_scratch +checkopts="" +[ "$USE_BIG_LOOPFS" = yes ] && checkopts=-t + echo "*** init FS" rm -f $seq.full @@ -90,8 +93,8 @@ do echo "" >>$seq.full echo "*** XFS_CHECK ***" >>$seq.full echo "" >>$seq.full - xfs_check $SCRATCH_DEV >>$seq.full 2>&1 \ - || _fail "xfs_check failed" + xfs_check $checkopts $SCRATCH_DEV >>$seq.full 2>&1 \ + || _fail "xfs_check $checkopts failed" _scratch_mount -o remount,rw \ || _fail "remount rw failed" done diff --git a/030 b/030 index f5a928bdf..f3c0364b0 100755 --- a/030 +++ b/030 @@ -70,6 +70,7 @@ _check_ag() } # real QA test starts here +_require_nobigloopfs _require_scratch DSIZE="-dsize=100m" diff --git a/031 b/031 index a9ea22434..0194d15d1 100755 --- a/031 +++ b/031 @@ -104,6 +104,7 @@ EOF # real QA test starts here # +_require_nobigloopfs _require_scratch MKFSV1="-p $tmp.proto -n version=1" diff --git a/032 b/032 index fcfd4c930..408901f5c 100755 --- a/032 +++ b/032 @@ -53,6 +53,7 @@ rm -f $seq.full # real QA test starts here # +_require_nobigloopfs _require_scratch echo "Silence is golden." diff --git a/033 b/033 index 77eb1df44..5f988d0b4 100755 --- a/033 +++ b/033 @@ -71,6 +71,7 @@ _check_root_inos() } # real QA test starts here +_require_nobigloopfs _require_scratch # devzero blows away 512byte blocks, so make 512byte inodes (at least) diff --git a/049 b/049 index dc6d1a6f8..dd7270f43 100755 --- a/049 +++ b/049 @@ -69,12 +69,13 @@ _log() echo "--- $*" >> $seq.full } -# real QA test starts here - +_require_nobigloopfs +_require_nonexternal _require_scratch _require_loop -[ "$USE_EXTERNAL" = yes ] && _notrun "Test doesn't cope with external devices" + +# real QA test starts here rm -f $seq.full diff --git a/075 b/075 index 250ce37cb..80cf9d511 100755 --- a/075 +++ b/075 @@ -112,3 +112,5 @@ _do_test 1 "-d -N 1000 -S 0 -x" _do_test 2 "-d -N 25000 -l $size10 -S 0" _do_test 3 "-d -N 25000 -l $size10 -S 0 -x" +rm -f $seq.*.fsx{good,log} +exit 0 diff --git a/common.rc b/common.rc index 3d4b81ed9..0d870fcab 100644 --- a/common.rc +++ b/common.rc @@ -126,6 +126,10 @@ _scratch_mkfs_xfs() [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \ SCRATCH_OPTIONS="$SCRATCH_OPTIONS -llogdev=$SCRATCH_LOGDEV" /sbin/mkfs.xfs -f $SCRATCH_OPTIONS $MKFS_OPTIONS $* $SCRATCH_DEV + mkfs_status=$? + [ "$USE_BIG_LOOPFS" = yes ] && \ + ./tools/ag-wipe -c $SCRATCH_DEV >/dev/null + return $mkfs_status } _scratch_xfs_db_options() @@ -149,6 +153,7 @@ _scratch_xfs_repair() SCRATCH_OPTIONS="" [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \ SCRATCH_OPTIONS="-l$SCRATCH_LOGDEV" + [ "$USE_BIG_LOOPFS" = yes ] && SCRATCH_OPTIONS=$SCRATCH_OPTIONS" -t" /sbin/xfs_repair $SCRATCH_OPTIONS $* $SCRATCH_DEV } @@ -460,6 +465,22 @@ _require_loop() fi } +# this test requires that (large) loopback device files are not in use +# +_require_nobigloopfs() +{ + [ "$USE_BIG_LOOPFS" = yes ] && \ + _notrun "Large filesystem testing in progress, skipped this test" +} + +# this test requires that external log/realtime devices are not in use +# +_require_nonexternal() +{ + [ "$USE_EXTERNAL" = yes ] && \ + _notrun "External device testing in progress, skipped this test" +} + # check that a FS is mounted as XFS. if so, return mount point # _xfs_mounted() @@ -483,34 +504,6 @@ _xfs_mounted() } -# setup the .out file link, depending on which form of quota is -# enabled as this often influences how the test output appears. -# [NB: SCRATCH_DEV must be mounted for this to work] -# -_setup_seq_out() -{ - # this lets us phase use of this into the dump/restore tests easier... - [ -f $seq.ugquota -a -f $seq.noquota -a $seq.usrquota -a $seq.grpquota ] \ - || return - - rm -f $seq.out - if src/feature -U $SCRATCH_DEV - then - if src/feature -G $SCRATCH_DEV - then - ln $seq.ugquota $seq.out - else - ln $seq.usrquota $seq.out - fi - elif src/feature -G $SCRATCH_DEV - then - ln $seq.grpquota $seq.out - else - ln $seq.noquota $seq.out - fi -} - - # remount a FS to a new mode (ro or rw) # _remount() @@ -557,6 +550,8 @@ _check_filesystem() fi [ "$FSTYP" != xfs ] && return 0 + testoption="" + [ "$USE_BIG_LOOPFS" = yes ] && testoption=-t type=`_fs_type $device` ok=1 @@ -588,7 +583,7 @@ _check_filesystem() ok=0 fi - /usr/sbin/xfs_check $device 2>&1 | _fix_malloc >$tmp.fs_check + /usr/sbin/xfs_check $testoption $device 2>&1 | _fix_malloc >$tmp.fs_check if [ -s $tmp.fs_check ] then echo "_check_fs: filesystem on $device is inconsistent (c) (see $seq.full)" diff --git a/setup b/setup index 3f75a383b..d99d0790e 100755 --- a/setup +++ b/setup @@ -6,13 +6,14 @@ then exit 1 fi -[ "$USE_EXTERNAL" != yes ] && USE_EXTERNAL="no" -[ "$USE_LBD_PATCH" = yes ] || USE_LBD_PATCH="no" -[ -x "$FSTYP" ] && FSTYP="xfs" +[ "$USE_EXTERNAL" = yes ] || USE_EXTERNAL=no +[ "$USE_LBD_PATCH" = yes ] || USE_LBD_PATCH=no +[ "$USE_BIG_LOOPFS" = yes ] || USE_BIG_LOOPFS=no +[ -z "$FSTYP" ] && FSTYP="xfs" cat </dev/null + return $mkfs_status } _test_mount()