From: Dave Chinner <dchinner@xxxxxxxxxx> Currently each test gets it's sequence number from it's name. It separates this from the path via basename, and uses it for outputting full, notrun an dother status/log files. Hence these end up in the top level directory. All these output files need to go somewhere other than the top level directory. Right now the check script is looking for them in the new test directories (e.g. for the notrun files), but it would be good to be able to separate the test source form the test output. Hence create an output directory which has a similar heirarchy to the test source directory. Create it on demand when we build the list of tests to run if it doesn't already exist. Change the high level check script to set up this variable appropriately for each test that is being run, and to use this new output directory for it's result files as well. The next commit will change all the tests themselves to use the new This is the first (small) step in being able to store test results in an external location for archival/data mining purposes Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> --- check | 38 +++++++++++++------- common.attr | 4 +-- common.defrag | 4 +-- common.dump | 86 ++++++++++++++++++++++----------------------- common.filestreams | 4 +-- common.log | 36 +++++++++---------- common.quota | 18 +++++----- common.rc | 98 ++++++++++++++++++++++++++-------------------------- common.scsi_debug | 2 +- 9 files changed, 152 insertions(+), 138 deletions(-) diff --git a/check b/check index d7426e5..af6d317 100755 --- a/check +++ b/check @@ -36,8 +36,9 @@ here=`pwd` FSTYP=xfs SUPPORTED_TESTS="[0-9][0-9][0-9] [0-9][0-9][0-9][0-9]" -SRC_DIR="tests" SRC_GROUPS="generic shared" +export SRC_DIR="tests" +export RESULT_BASE=${RESULT_BASE:="results"} # generic initialization iam=check @@ -374,6 +375,12 @@ if [ ! -z "$SCRATCH_DEV" ]; then fi fi +mkdir -p $RESULT_BASE +if [ ! -d $RESULT_BASE ]; then + echo "failed to create results directory $RESULTS_BASE" + exit 1; +fi + seq="check" _check_test_fs @@ -385,6 +392,13 @@ do # we don't include the tests/ directory in the name output. seqnum=`echo $seq | sed -e "s;$SRC_DIR/;;"` + # Similarly, the result directory needs to replace the tests/ + # part of the test location. + group=`dirname $seq` + export RESULT_DIR=`echo $group | sed -e "s;$SRC_DIR;$RESULT_BASE;"` + mkdir -p $RESULT_DIR + seqres="$RESULT_BASE/$seqnum" + echo -n "$seqnum" if $showme @@ -397,7 +411,7 @@ do else # really going to try and run this one # - rm -f $seq.out.bad + rm -f $seqres.out.bad # slashes now in names, sed barfs on them so use grep lasttime=`grep -w ^$seq check.time | awk '// {print $2}'` @@ -406,7 +420,7 @@ do else echo -n " " # prettier output with timestamps. fi - rm -f core $seq.notrun + rm -f core $seqres.notrun start=`_wallclock` $timestamp && echo -n " ["`date "+%T"`"]" @@ -423,15 +437,15 @@ do if [ -f core ] then echo -n " [dumped core]" - mv core $seq.core + mv core $RESULT_BASE/$seqnum.core err=true fi - if [ -f $seq.notrun ] + if [ -f $seqres.notrun ] then $timestamp || echo -n " [not run] " $timestamp && echo " [not run]" && echo -n " $seqnum -- " - cat $seq.notrun + cat $seqres.notrun notrun="$notrun $seqnum" else if [ $sts -ne 0 ] @@ -455,9 +469,9 @@ do fi echo "" else - echo " - output mismatch (see $seq.out.bad)" - mv $tmp.out $seq.out.bad - $diff $seq.out $seq.out.bad | { + echo " - output mismatch (see $seqres.out.bad)" + mv $tmp.out $seqres.out.bad + $diff $seq.out $seqres.out.bad | { if test "$DIFF_LENGTH" -le 0; then cat else @@ -465,7 +479,7 @@ do fi; } | \ sed -e 's/^\(.\)/ \1/' echo " ..." - echo " (Run '$diff $seq.out $seq.out.bad' to see the" \ + echo " (Run '$diff $seq.out $seqres.out.bad' to see the" \ "entire diff)" err=true fi @@ -482,13 +496,13 @@ do n_bad=`expr $n_bad + 1` quick=false fi - if [ ! -f $seq.notrun ] + if [ ! -f $seqres.notrun ] then try="$try $seqnum" n_try=`expr $n_try + 1` _check_test_fs fi - + seq="after_$seqnum" done diff --git a/common.attr b/common.attr index 6e2c004..69bcb01 100644 --- a/common.attr +++ b/common.attr @@ -129,7 +129,7 @@ _require_acls() # touch $TEST_DIR/syscalltest chacl -l $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1 - cat $TEST_DIR/syscalltest.out >> $here/$seq.full + cat $TEST_DIR/syscalltest.out >> $RESULT_DIR/$seq.full if grep -q 'Function not implemented' $TEST_DIR/syscalltest.out; then _notrun "kernel does not support ACLs" @@ -164,7 +164,7 @@ _require_attrs() # touch $TEST_DIR/syscalltest attr -s "user.xfstests" -V "attr" $TEST_DIR > $TEST_DIR/syscalltest.out 2>&1 - cat $TEST_DIR/syscalltest.out >> $here/$seq.full + cat $TEST_DIR/syscalltest.out >> $RESULT_DIR/$seq.full if grep -q 'Function not implemented' $TEST_DIR/syscalltest.out; then _notrun "kernel does not support attrs" diff --git a/common.defrag b/common.defrag index 9c9eb9b..13405a4 100644 --- a/common.defrag +++ b/common.defrag @@ -44,7 +44,7 @@ _require_defrag() _extent_count() { $FILEFRAG_PROG $1 | awk '{print $2}' - $FILEFRAG_PROG -v $1 >> $seq.full 2>&1 + $FILEFRAG_PROG -v $1 >> $RESULT_DIR/$seq.full 2>&1 } # Defrag file, check it, and remove it. @@ -54,7 +54,7 @@ _defrag() _extent_count $1 CSUM_BEFORE=`md5sum $1` STAT_BEFORE=`stat -c "a: %x m: %y c: %z" $1` - $DEFRAG_PROG -v $1 >> $seq.full 2>&1 + $DEFRAG_PROG -v $1 >> $RESULT_DIR/$seq.full 2>&1 _scratch_remount STAT_AFTER=`stat -c "a: %x m: %y c: %z" $1` CSUM_AFTER=`md5sum $1` diff --git a/common.dump b/common.dump index be55249..0395ee3 100644 --- a/common.dump +++ b/common.dump @@ -20,7 +20,7 @@ # # --- initializations --- -rm -f $here/$seq.full +rm -f $RESULT_DIR/$seq.full if [ -n "$DEBUGDUMP" ]; then _dump_debug=-v4 @@ -125,7 +125,7 @@ _check_onl() _limit=10 i=0 while [ $i -lt $_limit ]; do - echo "Checking online..." >>$here/$seq.full + echo "Checking online..." >>$RESULT_DIR/$seq.full if _mt status >$tmp.status 2>&1; then break; else @@ -159,12 +159,12 @@ _check_onl() _wait_tape() { - echo "Wait for tape, $dumptape, ..." >>$here/$seq.full + echo "Wait for tape, $dumptape, ..." >>$RESULT_DIR/$seq.full i=0 while [ $i -lt 20 ]; do - echo "Checking status..." >>$here/$seq.full - if _mt status 2>&1 | tee -a $here/$seq.full | egrep -i "onl|ready" >/dev/null; then + echo "Checking status..." >>$RESULT_DIR/$seq.full + if _mt status 2>&1 | tee -a $RESULT_DIR/$seq.full | egrep -i "onl|ready" >/dev/null; then break; else sleep 1 @@ -178,7 +178,7 @@ _wait_tape() # _rewind() { - echo "Initiate rewind..." >>$here/$seq.full + echo "Initiate rewind..." >>$RESULT_DIR/$seq.full _wait_tape _mt rewind >/dev/null _wait_tape @@ -191,7 +191,7 @@ _rewind() # _erase_soft() { - echo "Erasing tape" | tee -a $here/$seq.full + echo "Erasing tape" | tee -a $RESULT_DIR/$seq.full _rewind _mt weof 3 _rewind @@ -199,7 +199,7 @@ _erase_soft() _erase_hard() { - echo "Erasing tape" | tee -a $here/$seq.full + echo "Erasing tape" | tee -a $RESULT_DIR/$seq.full _mt erase } @@ -230,7 +230,7 @@ _require_tape() if [ -z "$dumptape" -o "@" == "$dumptape" ]; then echo "This test requires a dump tape - none was specified" - echo "No dump tape specified" >$seq.notrun + echo "No dump tape specified" >$RESULT_DIR/$seq.notrun status=$NOTRUNSTS exit fi @@ -243,8 +243,8 @@ _wipe_fs() { _require_scratch - _scratch_mkfs_xfs >>$here/$seq.full || _fail "mkfs failed" - _scratch_mount >>$here/$seq.full || _fail "mount failed" + _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full || _fail "mkfs failed" + _scratch_mount >>$RESULT_DIR/$seq.full || _fail "mount failed" } # @@ -266,8 +266,8 @@ _cleanup() # save it for inspection for dir in /var/xfsdump/inventory /var/lib/xfsdump/inventory; do [ -d $dir ] || continue - tar -cvf $seq.inventory.tar $dir - ls -nR $dir >$seq.inventory.ls + tar -cvf $RESULT_DIR/$seq.inventory.tar $dir + ls -nR $dir >$RESULT_DIR/$seq.inventory.ls done fi @@ -295,8 +295,8 @@ _cleanup() _stable_fs() { _saveddir=`pwd`; cd / - umount $SCRATCH_MNT >>$here/$seq.full || _fail "unmount failed" - _scratch_mount >>$here/$seq.full || _fail "mount failed" + umount $SCRATCH_MNT >>$RESULT_DIR/$seq.full || _fail "unmount failed" + _scratch_mount >>$RESULT_DIR/$seq.full || _fail "mount failed" cd $_saveddir } @@ -326,12 +326,12 @@ _create_dumpdir_stress() echo "-----------------------------------------------" if ! $here/ltp/fsstress $_param -s 1 $FSSTRESS_AVOID -n $_count -d $dump_dir >$tmp.out 2>&1 then - echo " fsstress (count=$_count) returned $? - see $here/$seq.full" + echo " fsstress (count=$_count) returned $? - see $RESULT_DIR/$seq.full" - echo "--------------------------------------" >>$here/$seq.full - echo "output from fsstress:" >>$here/$seq.full - echo "--------------------------------------" >>$here/$seq.full - cat $tmp.out >>$here/$seq.full + echo "--------------------------------------" >>$RESULT_DIR/$seq.full + echo "output from fsstress:" >>$RESULT_DIR/$seq.full + echo "--------------------------------------" >>$RESULT_DIR/$seq.full + cat $tmp.out >>$RESULT_DIR/$seq.full status=1 fi @@ -1043,7 +1043,7 @@ _do_dump_sub() echo "Dumping to tape..." opts="$_dump_debug$dump_args -s $dump_sdir -f $dumptape -M $media_label -L $session_label $SCRATCH_MNT" echo "xfsdump $opts" | _dir_filter - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1056,7 +1056,7 @@ _do_dump() echo "Dumping to tape..." opts="$_dump_debug$dump_args -f $dumptape -M $media_label -L $session_label $SCRATCH_MNT" echo "xfsdump $opts" | _dir_filter - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } @@ -1071,7 +1071,7 @@ _do_dump_min() onemeg=1048576 opts="$_dump_debug$dump_args -m -b $onemeg -l0 -f $dumptape -M $media_label -L $session_label $SCRATCH_MNT" echo "xfsdump $opts" | _dir_filter - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } @@ -1085,7 +1085,7 @@ _do_dump_file() echo "Dumping to file..." opts="$_dump_debug$dump_args -f $dump_file -M $media_label -L $session_label $SCRATCH_MNT" echo "xfsdump $opts" | _dir_filter - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1107,7 +1107,7 @@ _do_dump_multi_file() echo "Dumping to files..." opts="$_dump_debug$dump_args $multi_args -L $session_label $SCRATCH_MNT" echo "xfsdump $opts" | _dir_filter - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } @@ -1140,7 +1140,7 @@ _do_restore() echo "Restoring from tape..." opts="$_restore_debug$restore_args -f $dumptape -L $session_label $restore_dir" echo "xfsrestore $opts" | _dir_filter - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1155,7 +1155,7 @@ _do_restore_min() onemeg=1048576 opts="$_restore_debug$restore_args -m -b $onemeg -f $dumptape -L $session_label $restore_dir" echo "xfsrestore $opts" | _dir_filter - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1169,7 +1169,7 @@ _do_restore_file() echo "Restoring from file..." opts="$_restore_debug$restore_args -f $dump_file -L $session_label $restore_dir" echo "xfsrestore $opts" | _dir_filter - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1184,7 +1184,7 @@ _do_restore_file_cum() echo "Restoring cumumlative from file..." opts="$_restore_debug$restore_args -f $dump_file -r $restore_dir" echo "xfsrestore $opts" | _dir_filter - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } _do_restore_toc() @@ -1195,7 +1195,7 @@ _do_restore_toc() opts="$_restore_debug$restore_args -f $dump_file -t" echo "xfsrestore $opts" | _dir_filter cd $SCRATCH_MNT # for IRIX which needs xfs cwd - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter_main |\ + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter_main |\ _check_quota_file |\ _check_quota_entries |\ $AWK_PROG 'NF != 1 { print; next } @@ -1226,7 +1226,7 @@ _do_restore_multi_file() echo "Restoring from file..." opts="$_restore_debug$restore_args $multi_args -L $session_label $restore_dir" echo "xfsrestore $opts" | _dir_filter - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter } # @@ -1246,7 +1246,7 @@ _do_dump_restore() restore_opts="$_restore_debug$restore_args - $restore_dir" dump_opts="$_dump_debug$dump_args -s $dump_sdir - $SCRATCH_MNT" echo "xfsdump $dump_opts | xfsrestore $restore_opts" | _dir_filter - $XFSDUMP_PROG $dump_opts 2>$tmp.dump.mlog | $XFSRESTORE_PROG $restore_opts 2>&1 | tee -a $here/$seq.full | _dump_filter + $XFSDUMP_PROG $dump_opts 2>$tmp.dump.mlog | $XFSRESTORE_PROG $restore_opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter _dump_filter <$tmp.dump.mlog } @@ -1262,8 +1262,8 @@ _ls_compare_sub() # verify we got back what we dumped # echo "Comparing listing of dump directory with restore directory" - ls -nR $dump_dir | tee -a $here/$seq.full | _ls_filter >$tmp.dump_dir - ls -nR $restore_dir/$dump_sdir | tee -a $here/$seq.full | _ls_filter \ + ls -nR $dump_dir | tee -a $RESULT_DIR/$seq.full | _ls_filter >$tmp.dump_dir + ls -nR $restore_dir/$dump_sdir | tee -a $RESULT_DIR/$seq.full | _ls_filter \ | sed -e "s#$restore_sdir\/##" >$tmp.restore_dir diff -bcs $tmp.dump_dir $tmp.restore_dir | sed -e "s#$tmp#TMP#g" @@ -1285,8 +1285,8 @@ _ls_nodate_compare_sub() # verify we got back what we dumped # echo "Comparing listing of dump directory with restore directory" - ls -nR $dump_dir | tee -a $here/$seq.full | _ls_filter | _ls_nodate_filter >$tmp.dump_dir - ls -nR $restore_dir/$dump_sdir | tee -a $here/$seq.full | _ls_filter \ + ls -nR $dump_dir | tee -a $RESULT_DIR/$seq.full | _ls_filter | _ls_nodate_filter >$tmp.dump_dir + ls -nR $restore_dir/$dump_sdir | tee -a $RESULT_DIR/$seq.full | _ls_filter \ | _ls_nodate_filter | sed -e "s#$restore_sdir\/##" >$tmp.restore_dir diff -bcs $tmp.dump_dir $tmp.restore_dir | sed -e "s#$tmp#TMP#g" @@ -1359,13 +1359,13 @@ _diff_compare_eas() echo "Comparing dump directory with restore directory" echo "Looking at the extended attributes (EAs)" echo "EAs on dump" - _get_eas_on_path $dump_dir | tee $seq.ea1 | _dir_filter + _get_eas_on_path $dump_dir | tee $RESULT_DIR/$seq.ea1 | _dir_filter echo "EAs on restore" _get_eas_on_path $restore_dir/$dump_sdir \ | sed -e "s#$restore_sdir\/##" \ - | tee $seq.ea2 \ + | tee $RESULT_DIR/$seq.ea2 \ | _dir_filter - diff -s $seq.ea1 $seq.ea2 + diff -s $RESULT_DIR/$seq.ea1 $RESULT_DIR/$seq.ea2 } @@ -1384,7 +1384,7 @@ _diff_compare() # _dump_inventory() { - $XFSDUMP_PROG $_dump_debug -I | tee -a $here/$seq.full | _dump_filter_main + $XFSDUMP_PROG $_dump_debug -I | tee -a $RESULT_DIR/$seq.full | _dump_filter_main } # @@ -1394,9 +1394,9 @@ _dump_inventory() _do_invutil() { host=`hostname` - echo "xfsinvutil $_invutil_debug -M $host:$SCRATCH_MNT \"$middate\" $*" >$here/$seq.full + echo "xfsinvutil $_invutil_debug -M $host:$SCRATCH_MNT \"$middate\" $*" >$RESULT_DIR/$seq.full $XFSINVUTIL_PROG $_invutil_debug $* -M $host:$SCRATCH_MNT "$middate" \ - | tee -a $here/$seq.full | _invutil_filter + | tee -a $RESULT_DIR/$seq.full | _invutil_filter } # @@ -1416,7 +1416,7 @@ _check_quota() $here/src/feature -P $SCRATCH_DEV && pquota=1 $AWK_PROG -v uquota=$uquota -v gquota=$gquota -v pquota=$pquota \ - -v full=$here/$seq.full -v usermsg="$usermsg" \ + -v full=$RESULT_DIR/$seq.full -v usermsg="$usermsg" \ -v groupmsg="$groupmsg" -v projectmsg="$projectmsg" ' $0 ~ projectmsg { print "Found project quota:", $0 >>full diff --git a/common.filestreams b/common.filestreams index 08eaf90..b3aee27 100644 --- a/common.filestreams +++ b/common.filestreams @@ -116,7 +116,7 @@ _check_for_dupes() for this_num_two in $num_str_two; do if [ "$this_num_one" == "$this_num_two" ]; then echo "duplicate AG $this_num_one found" \ - >> $here/$seq.full + >> $RESULT_DIR/$seq.full return 1 fi done @@ -189,7 +189,7 @@ _test_streams() { stream_index=1 while [ $stream_index -le $stream_count ]; do this_stream_ags=`_get_stream_ags stream${stream_index}-dir` - echo "stream $stream_index AGs: $this_stream_ags" >> $here/$seq.full + echo "stream $stream_index AGs: $this_stream_ags" >> $RESULT_DIR/$seq.full _check_for_dupes "$ags_seen" "$this_stream_ags" if [ $? -ne 0 ]; then # this stream is not in seperate AGs to previous streams diff --git a/common.log b/common.log index 3958c48..e0e2bc6 100644 --- a/common.log +++ b/common.log @@ -20,7 +20,7 @@ # Created by dxm@xxxxxxx & tes@xxxxxxx # -fulldir=$seq.fulldir +fulldir=$RESULT_DIR/$seq.fulldir rm -rf $fulldir _cleanup_logfiles() @@ -33,16 +33,16 @@ _cleanup_logfiles() _full() { - echo "" >>$seq.full - echo "*** $* ***" >>$seq.full - echo "" >>$seq.full + echo "" >>$RESULT_DIR/$seq.full + echo "*** $* ***" >>$RESULT_DIR/$seq.full + echo "" >>$RESULT_DIR/$seq.full } _echofull() { - echo "" | tee -a $seq.full - echo "*** $* ***" | tee -a $seq.full - echo "" | tee -a $seq.full + echo "" | tee -a $RESULT_DIR/$seq.full + echo "*** $* ***" | tee -a $RESULT_DIR/$seq.full + echo "" | tee -a $RESULT_DIR/$seq.full } # Handle the operations which get split over Log Record @@ -212,13 +212,13 @@ _filter_logprint() _check_log() { _full "clean_log : xfs_logprint" - _scratch_xfs_logprint -t | tee -a $seq.full \ + _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full \ | head | grep -q "<CLEAN>" || _fail "DIRTY LOG" } _print_logstate() { - _scratch_xfs_logprint -t | tee -a $seq.full >$tmp.logprint + _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full >$tmp.logprint if grep -q "<DIRTY>" $tmp.logprint; then echo "dirty log" fi @@ -288,7 +288,7 @@ _mkfs_log() # mkfs options to append to log size otion can be specified ($*) export MKFS_OPTIONS="-l size=2000b -l lazy-count=1 $*" _full "mkfs" - _scratch_mkfs_xfs >>$seq.full 2>&1 + _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full 2>&1 if [ $? -ne 0 ] ; then _echofull "Cannot mkfs for this test using option specified: $MKFS_OPTIONS" return 1 @@ -305,7 +305,7 @@ _create_log() { # mount the FS _full "mount" - _scratch_mount >>$seq.full 2>&1 + _scratch_mount >>$RESULT_DIR/$seq.full 2>&1 if [ $? -ne 0 ] ; then _echofull "mount failed: $MOUNT_OPTIONS" return 1 @@ -318,7 +318,7 @@ _create_log() # unmount the FS _full "umount" - umount $SCRATCH_DEV >>$seq.full 2>&1 + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1 if [ $? -ne 0 ] ; then _echofull "umount failed" return 1 @@ -334,7 +334,7 @@ _create_log_sync() { # mount the FS _full " mount" - _scratch_mount >>$seq.full 2>&1 + _scratch_mount >>$RESULT_DIR/$seq.full 2>&1 if [ $? -ne 0 ] ; then _echofull "mount failed: $MOUNT_OPTIONS" return 1 @@ -349,7 +349,7 @@ _create_log_sync() # unmount the FS _full "umount" - umount $SCRATCH_DEV >>$seq.full 2>&1 + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1 if [ $? -ne 0 ] ; then _echofull "umount failed" return 1 @@ -448,21 +448,21 @@ _require_v2log() { # test out mkfs to see if it supports "-l version=2" export MKFS_OPTIONS="-l version=2" - if ! _scratch_mkfs_xfs >>$seq.full 2>&1; then + if ! _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full 2>&1; then _notrun "mkfs does not support v2 logs" fi # test out mount to see if it mounts a v2 log fs export MOUNT_OPTIONS="-o logbsize=32k" - if ! _scratch_mount >>$seq.full 2>&1; then + if ! _scratch_mount >>$RESULT_DIR/$seq.full 2>&1; then _notrun "mount/kernel does not support v2 logs" fi # check after unmount to see if it is clean # i.e. it is not a 6.5.25 buggy version checking kernel touch $SCRATCH_MNT/file - umount $SCRATCH_DEV >>$seq.full 2>&1 - if _scratch_xfs_logprint -t | tee -a $seq.full \ + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1 + if _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full \ | head | grep -q "<DIRTY>"; then _notrun "kernel does not support v2 logs" fi diff --git a/common.quota b/common.quota index 2fa784b..ff80382 100644 --- a/common.quota +++ b/common.quota @@ -96,8 +96,8 @@ _file_as_id() parent=`dirname $1` if [ $3 = p ]; then - echo PARENT: xfs_io -r -c "chproj $2" -c "chattr +P" $parent >>$seq.full - $XFS_IO_PROG -r -c "chproj $2" -c "chattr +P" $parent >>$seq.full 2>&1 + echo PARENT: xfs_io -r -c "chproj $2" -c "chattr +P" $parent >>$RESULT_DIR/$seq.full + $XFS_IO_PROG -r -c "chproj $2" -c "chattr +P" $parent >>$RESULT_DIR/$seq.full 2>&1 magik='$>' # (irrelevent, above set projid-inherit-on-parent) elif [ $3 = u ]; then magik='$>' # perlspeak for effective uid @@ -107,7 +107,7 @@ _file_as_id() _notrun "broken type in call to _file_as_id in test $seq" fi - perl <<EOF >>$seq.full 2>&1 + perl <<EOF >>$RESULT_DIR/$seq.full 2>&1 \$| = 1; $magik = $2; if ($5 == 0) { @@ -119,11 +119,11 @@ _file_as_id() } EOF # for debugging the above euid change, try... [need write in cwd] -# exec "dd if=/dev/zero of=$1 bs=$4 count=$5 >>$seq.full 2>&1"; +# exec "dd if=/dev/zero of=$1 bs=$4 count=$5 >>$RESULT_DIR/$seq.full 2>&1"; if [ $3 = p ]; then - echo PARENT: xfs_io -r -c "chproj 0" -c "chattr -P" $parent >>$seq.full - $XFS_IO_PROG -r -c "chproj 0" -c "chattr -P" $parent >>$seq.full 2>&1 + echo PARENT: xfs_io -r -c "chproj 0" -c "chattr -P" $parent >>$RESULT_DIR/$seq.full + $XFS_IO_PROG -r -c "chproj 0" -c "chattr -P" $parent >>$RESULT_DIR/$seq.full 2>&1 fi } @@ -198,8 +198,8 @@ _qsetup() _notrun "No quota support at mount time" fi - echo "Using output from '" `ls -l $seq.out` "'" >>$seq.full - echo "and using type=$type id=$id" >>$seq.full + echo "Using output from '" `ls -l $seq.out` "'" >>$RESULT_DIR/$seq.full + echo "and using type=$type id=$id" >>$RESULT_DIR/$seq.full } # @@ -229,7 +229,7 @@ _qmount_option() # Ensure we have the given quota option - duplicates are fine export MOUNT_OPTIONS="$MOUNT_OPTIONS -o $1" - echo "MOUNT_OPTIONS = $MOUNT_OPTIONS" >>$seq.full + echo "MOUNT_OPTIONS = $MOUNT_OPTIONS" >>$RESULT_DIR/$seq.full } _check_quota_usage() diff --git a/common.rc b/common.rc index 0babfed..ba275fc 100644 --- a/common.rc +++ b/common.rc @@ -358,9 +358,9 @@ _scratch_mkfs_xfs() if [ $mkfs_status -ne 0 -a ! -z "$extra_mkfs_options" ]; then echo "** mkfs failed with extra mkfs options added to \"$MKFS_OPTIONS\" by test $seq **" \ - >>$here/$seq.full + >>$RESULT_DIR/$seq.full echo "** attempting to mkfs using only test $seq options: $extra_mkfs_options **" \ - >>$here/$seq.full + >>$RESULT_DIR/$seq.full # running mkfs again. overwrite previous mkfs output files $MKFS_XFS_PROG $SCRATCH_OPTIONS $extra_mkfs_options $SCRATCH_DEV \ 2>$tmp_dir.mkfserr 1>$tmp_dir.mkfsstd @@ -796,7 +796,7 @@ _is_block_dev() fi } -# Do a command, log it to $seq.full, optionally test return status +# Do a command, log it to $RESULT_DIR/$seq.full, optionally test return status # and die if command fails. If called with one argument _do executes the # command, logs it, and returns its exit status. With two arguments _do # first prints the message passed in the first argument, and then "done" @@ -804,7 +804,7 @@ _is_block_dev() # second argument. If the command fails and the variable _do_die_on_error # is set to "always" or the two argument form is used and _do_die_on_error # is set to "message_only" _do will print an error message to -# $seq.out and exit. +# $RESULT_DIR/$seq.out and exit. _do() { @@ -819,9 +819,9 @@ _do() status=1; exit fi - (eval "echo '---' \"$_cmd\"") >>$here/$seq.full + (eval "echo '---' \"$_cmd\"") >>$RESULT_DIR/$seq.full (eval "$_cmd") >$tmp._out 2>&1; ret=$? - cat $tmp._out | _fix_malloc >>$here/$seq.full + cat $tmp._out | _fix_malloc >>$RESULT_DIR/$seq.full if [ $# -eq 2 ]; then if [ $ret -eq 0 ]; then echo "done" @@ -834,7 +834,7 @@ _do() -o \( $# -eq 2 -a "$_do_die_on_error" = "message_only" \) ] then [ $# -ne 2 ] && echo - eval "echo \"$_cmd\" failed \(returned $ret\): see $seq.full" + eval "echo \"$_cmd\" failed \(returned $ret\): see $RESULT_DIR/$seq.full" status=1; exit fi @@ -845,7 +845,7 @@ _do() # _notrun() { - echo "$*" >$seq.notrun + echo "$*" > $RESULT_DIR/$seq.notrun echo "$seq not run: $*" status=0 exit @@ -855,8 +855,8 @@ _notrun() # _fail() { - echo "$*" | tee -a $here/$seq.full - echo "(see $seq.full for details)" + echo "$*" | tee -a $RESULT_DIR/$seq.full + echo "(see $RESULT_DIR/$seq.full for details)" status=1 exit 1 } @@ -1343,12 +1343,12 @@ _check_generic_filesystem() fsck -t $FSTYP $FSCK_OPTIONS $device >$tmp.fsck 2>&1 if [ $? -ne 0 ] then - echo "_check_generic_filesystem: filesystem on $device is inconsistent (see $seq.full)" + echo "_check_generic_filesystem: filesystem on $device is inconsistent (see $RESULT_DIR/$seq.full)" - echo "_check_generic filesystem: filesystem on $device is inconsistent" >>$here/$seq.full - echo "*** fsck.$FSTYP output ***" >>$here/$seq.full - cat $tmp.fsck >>$here/$seq.full - echo "*** end fsck.$FSTYP output" >>$here/$seq.full + echo "_check_generic filesystem: filesystem on $device is inconsistent" >>$RESULT_DIR/$seq.full + echo "*** fsck.$FSTYP output ***" >>$RESULT_DIR/$seq.full + cat $tmp.fsck >>$RESULT_DIR/$seq.full + echo "*** end fsck.$FSTYP output" >>$RESULT_DIR/$seq.full ok=0 fi @@ -1356,9 +1356,9 @@ _check_generic_filesystem() if [ $ok -eq 0 ] then - echo "*** mount output ***" >>$here/$seq.full - _mount >>$here/$seq.full - echo "*** end mount output" >>$here/$seq.full + echo "*** mount output ***" >>$RESULT_DIR/$seq.full + _mount >>$RESULT_DIR/$seq.full + echo "*** end mount output" >>$RESULT_DIR/$seq.full elif [ "$type" = "$FSTYP" ] then # was mounted ... @@ -1412,12 +1412,12 @@ _check_xfs_filesystem() | tee $tmp.logprint | grep -q "<CLEAN>" if [ $? -ne 0 -a "$HOSTOS" = "Linux" ] then - echo "_check_xfs_filesystem: filesystem on $device has dirty log (see $seq.full)" + echo "_check_xfs_filesystem: filesystem on $device has dirty log (see $RESULT_DIR/$seq.full)" - echo "_check_xfs_filesystem: filesystem on $device has dirty log" >>$here/$seq.full - echo "*** xfs_logprint -t output ***" >>$here/$seq.full - cat $tmp.logprint >>$here/$seq.full - echo "*** end xfs_logprint output" >>$here/$seq.full + echo "_check_xfs_filesystem: filesystem on $device has dirty log" >>$RESULT_DIR/$seq.full + echo "*** xfs_logprint -t output ***" >>$RESULT_DIR/$seq.full + cat $tmp.logprint >>$RESULT_DIR/$seq.full + echo "*** end xfs_logprint output" >>$RESULT_DIR/$seq.full ok=0 fi @@ -1431,12 +1431,12 @@ _check_xfs_filesystem() fi if [ -s $tmp.fs_check ] then - echo "_check_xfs_filesystem: filesystem on $device is inconsistent (c) (see $seq.full)" + echo "_check_xfs_filesystem: filesystem on $device is inconsistent (c) (see $RESULT_DIR/$seq.full)" - echo "_check_xfs_filesystem: filesystem on $device is inconsistent" >>$here/$seq.full - echo "*** xfs_check output ***" >>$here/$seq.full - cat $tmp.fs_check >>$here/$seq.full - echo "*** end xfs_check output" >>$here/$seq.full + echo "_check_xfs_filesystem: filesystem on $device is inconsistent" >>$RESULT_DIR/$seq.full + echo "*** xfs_check output ***" >>$RESULT_DIR/$seq.full + cat $tmp.fs_check >>$RESULT_DIR/$seq.full + echo "*** end xfs_check output" >>$RESULT_DIR/$seq.full ok=0 fi @@ -1444,12 +1444,12 @@ _check_xfs_filesystem() $XFS_REPAIR_PROG -n $extra_log_options $extra_rt_options $device >$tmp.repair 2>&1 if [ $? -ne 0 ] then - echo "_check_xfs_filesystem: filesystem on $device is inconsistent (r) (see $seq.full)" + echo "_check_xfs_filesystem: filesystem on $device is inconsistent (r) (see $RESULT_DIR/$seq.full)" - echo "_check_xfs_filesystem: filesystem on $device is inconsistent" >>$here/$seq.full - echo "*** xfs_repair -n output ***" >>$here/$seq.full - cat $tmp.repair | _fix_malloc >>$here/$seq.full - echo "*** end xfs_repair output" >>$here/$seq.full + echo "_check_xfs_filesystem: filesystem on $device is inconsistent" >>$RESULT_DIR/$seq.full + echo "*** xfs_repair -n output ***" >>$RESULT_DIR/$seq.full + cat $tmp.repair | _fix_malloc >>$RESULT_DIR/$seq.full + echo "*** end xfs_repair output" >>$RESULT_DIR/$seq.full ok=0 fi @@ -1457,9 +1457,9 @@ _check_xfs_filesystem() if [ $ok -eq 0 ] then - echo "*** mount output ***" >>$here/$seq.full - _mount >>$here/$seq.full - echo "*** end mount output" >>$here/$seq.full + echo "*** mount output ***" >>$RESULT_DIR/$seq.full + _mount >>$RESULT_DIR/$seq.full + echo "*** end mount output" >>$RESULT_DIR/$seq.full elif [ "$type" = "xfs" ] then _mount_or_remount_rw "$extra_mount_options" $device $mountpoint @@ -1507,12 +1507,12 @@ _check_udf_filesystem() OPT_ARG="-lastvalidblock $LAST_BLOCK" fi - rm -f $seq.checkfs + rm -f $RESULT_DIR/$seq.checkfs sleep 1 # Due to a problem with time stamps in udf_test - $here/src/udf_test $OPT_ARG $device | tee $here/$seq.checkfs | egrep "Error|Warning" | \ + $here/src/udf_test $OPT_ARG $device | tee $RESULT_DIR/$seq.checkfs | egrep "Error|Warning" | \ _udf_test_known_error_filter | \ egrep -iv "Error count:.*[0-9]+.*total occurrences:.*[0-9]+|Warning count:.*[0-9]+.*total occurrences:.*[0-9]+" | \ - sed "s/^.*$/Warning UDF Verifier reported errors see $seq.checkfs./g" + sed "s/^.*$/Warning UDF Verifier reported errors see $RESULT_DIR/$seq.checkfs./g" } @@ -1553,12 +1553,12 @@ _check_btrfs_filesystem() btrfsck $device >$tmp.fsck 2>&1 if [ $? -ne 0 ] then - echo "_check_btrfs_filesystem: filesystem on $device is inconsistent (see $seq.full)" + echo "_check_btrfs_filesystem: filesystem on $device is inconsistent (see $RESULT_DIR/$seq.full)" - echo "_check_btrfs_filesystem: filesystem on $device is inconsistent" >>$here/$seq.full - echo "*** fsck.$FSTYP output ***" >>$here/$seq.full - cat $tmp.fsck >>$here/$seq.full - echo "*** end fsck.$FSTYP output" >>$here/$seq.full + echo "_check_btrfs_filesystem: filesystem on $device is inconsistent" >>$RESULT_DIR/$seq.full + echo "*** fsck.$FSTYP output ***" >>$RESULT_DIR/$seq.full + cat $tmp.fsck >>$RESULT_DIR/$seq.full + echo "*** end fsck.$FSTYP output" >>$RESULT_DIR/$seq.full ok=0 fi @@ -1566,9 +1566,9 @@ _check_btrfs_filesystem() if [ $ok -eq 0 ] then - echo "*** mount output ***" >>$here/$seq.full - _mount >>$here/$seq.full - echo "*** end mount output" >>$here/$seq.full + echo "*** mount output ***" >>$RESULT_DIR/$seq.full + _mount >>$RESULT_DIR/$seq.full + echo "*** end mount output" >>$RESULT_DIR/$seq.full elif [ "$type" = "$FSTYP" ] then # was mounted ... @@ -2053,8 +2053,8 @@ _scale_fsstress_args() run_check() { - echo "# $@" >> $seq.full 2>&1 - "$@" >> $seq.full 2>&1 || _fail "failed: '$@'" + echo "# $@" >> $RESULT_DIR/$seq.full 2>&1 + "$@" >> $RESULT_DIR/$seq.full 2>&1 || _fail "failed: '$@'" } ################################################################################ diff --git a/common.scsi_debug b/common.scsi_debug index a085a67..f05c8db 100644 --- a/common.scsi_debug +++ b/common.scsi_debug @@ -47,7 +47,7 @@ _get_scsi_debug_dev() let phys_exp=phys_exp+1 done opts="sector_size=$logical physblk_exp=$phys_exp lowest_aligned=$unaligned dev_size_mb=$size" - echo "scsi_debug options $opts" >> $seq.full + echo "scsi_debug options $opts" >> $RESULT_DIR/$seq.full modprobe scsi_debug $opts [ $? -eq 0 ] || _fail "scsi_debug modprobe failed" sleep 1 -- 1.7.10.4 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs