xfstests: Introduce a results directory

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 and other 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 output directory.

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@redhat.com>
Reviewed-by: Phil White <pwhite@sgi.com>
[rjohnston@sgi.com rm whitespace and fix typos in commit message]
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This commit is contained in:
Dave Chinner
2013-03-15 12:28:01 +00:00
committed by Rich Johnston
parent 1f39e5972e
commit 1686f9abfc
9 changed files with 152 additions and 138 deletions
+26 -12
View File
@@ -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
+2 -2
View File
@@ -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"
+2 -2
View File
@@ -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`
+43 -43
View File
@@ -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
+2 -2
View File
@@ -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
+18 -18
View File
@@ -20,7 +20,7 @@
# Created by dxm@sgi.com & tes@sgi.com
#
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
+9 -9
View File
@@ -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()
+49 -49
View File
@@ -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: '$@'"
}
################################################################################
+1 -1
View File
@@ -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