Numerous changes to QA scripts allowing tests to run with external log/rt devices; also allow multiple mkfs/mount options at once now.

This commit is contained in:
fsgqa
2003-05-22 04:16:45 +00:00
parent 0cac704bdf
commit 8050efd492
40 changed files with 311 additions and 282 deletions
+3 -3
View File
@@ -57,15 +57,15 @@ trap "_cleanup" 0 1 2 3 15
_populate_scratch() _populate_scratch()
{ {
echo "=== mkfs output ===" >>$seq.full echo "=== mkfs output ===" >>$seq.full
mkfs_xfs $SCRATCH_DEV | tee -a $seq.full | _filter_mkfs 2>$tmp.mkfs _scratch_mkfs_xfs | tee -a $seq.full | _filter_mkfs 2>$tmp.mkfs
source $tmp.mkfs source $tmp.mkfs
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT _scratch_mount
dd if=/dev/zero of=$SCRATCH_MNT/foo count=200 bs=4096 >/dev/null 2>&1 & dd if=/dev/zero of=$SCRATCH_MNT/foo count=200 bs=4096 >/dev/null 2>&1 &
dd if=/dev/zero of=$SCRATCH_MNT/goo count=400 bs=4096 >/dev/null 2>&1 & dd if=/dev/zero of=$SCRATCH_MNT/goo count=400 bs=4096 >/dev/null 2>&1 &
dd if=/dev/zero of=$SCRATCH_MNT/moo count=800 bs=4096 >/dev/null 2>&1 & dd if=/dev/zero of=$SCRATCH_MNT/moo count=800 bs=4096 >/dev/null 2>&1 &
wait wait
umount $SCRATCH_MNT # flush everything umount $SCRATCH_MNT # flush everything
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT # and then remount _scratch_mount # and then remount
} }
+2 -2
View File
@@ -66,7 +66,7 @@ _block_filter()
_init() _init()
{ {
echo "*** mkfs" echo "*** mkfs"
if ! mkfs_xfs $SCRATCH_DEV >$tmp.out 2>&1 if ! _scratch_mkfs_xfs >$tmp.out 2>&1
then then
cat $tmp.out cat $tmp.out
echo "failed to mkfs $SCRATCH_DEV" echo "failed to mkfs $SCRATCH_DEV"
@@ -74,7 +74,7 @@ _init()
fi fi
echo "*** mount" echo "*** mount"
if ! mount $SCRATCH_DEV $SCRATCH_MNT -t xfs if ! _scratch_mount
then then
echo "failed to mount $SCRATCH_DEV" echo "failed to mount $SCRATCH_DEV"
exit 1 exit 1
+2 -2
View File
@@ -98,7 +98,7 @@ _do_test()
status=1 status=1
fi fi
_check_fs $TEST_DEV _check_test_fs
} }
@@ -109,7 +109,7 @@ echo "brevity is wit..."
count=1000 count=1000
_check_fs $TEST_DEV _check_test_fs
# the default # the default
+2 -2
View File
@@ -76,8 +76,8 @@ _filter_dd()
# real QA test starts here # real QA test starts here
_require_scratch _require_scratch
mkfs_xfs -d size=50m $SCRATCH_DEV >/dev/null _scratch_mkfs_xfs -d size=50m >/dev/null
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT _scratch_mount
out=$SCRATCH_MNT/fillup.$$ out=$SCRATCH_MNT/fillup.$$
rm -f $seq.full rm -f $seq.full
+5 -5
View File
@@ -80,7 +80,7 @@ _init()
echo "*** mkfs" echo "*** mkfs"
force_opts="-dsize=50m -lsize=2097152" force_opts="-dsize=50m -lsize=2097152"
echo mkfs_xfs $force_opts $SCRATCH_DEV >>$seq.full echo mkfs_xfs $force_opts $SCRATCH_DEV >>$seq.full
mkfs_xfs $force_opts $SCRATCH_DEV | _filter_mkfs >/dev/null 2>$tmp.mkfs _scratch_mkfs_xfs $force_opts | _filter_mkfs >/dev/null 2>$tmp.mkfs
source $tmp.mkfs source $tmp.mkfs
} }
@@ -92,7 +92,7 @@ _log_traffic()
out=$SCRATCH_MNT/$$.tmp out=$SCRATCH_MNT/$$.tmp
echo " *** mount" echo " *** mount"
if ! mount -t xfs $SCRATCH_DEV $SCRATCH_MNT if ! _scratch_mount
then then
echo "failed to mount $SCRATCH_DEV" echo "failed to mount $SCRATCH_DEV"
exit 1 exit 1
@@ -122,14 +122,14 @@ _log_traffic()
_log_size() _log_size()
{ {
xfs_logprint -tb $SCRATCH_DEV | $AWK_PROG ' _scratch_xfs_logprint -tb | $AWK_PROG '
/log device/ { print $7} /log file: / || /log device: / { print $7}
' '
} }
_log_head() _log_head()
{ {
xfs_logprint -tb $SCRATCH_DEV | $AWK_PROG ' _scratch_xfs_logprint -tb | $AWK_PROG '
/head:/ { print $5 } /head:/ { print $5 }
' '
} }
+10 -15
View File
@@ -53,15 +53,6 @@ _cleanup()
} }
trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15 trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15
_clean_log()
{
echo "" >>$seq.full
echo "*** xfs_logprint ***" >>$seq.full
echo "" >>$seq.full
xfs_logprint -tb $1 | tee -a $seq.full \
| head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
}
# get standard environment, filters and checks # get standard environment, filters and checks
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
@@ -76,9 +67,9 @@ rm -f $seq.full
umount $SCRATCH_DEV >/dev/null 2>&1 umount $SCRATCH_DEV >/dev/null 2>&1
echo "*** MKFS ***" >>$seq.full echo "*** MKFS ***" >>$seq.full
echo "" >>$seq.full echo "" >>$seq.full
mkfs_xfs $SCRATCH_DEV >>$seq.full 2>&1 \ _scratch_mkfs_xfs >>$seq.full 2>&1 \
|| _fail "mkfs failed" || _fail "mkfs failed"
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT >>$seq.full 2>&1 \ _scratch_mount >>$seq.full 2>&1 \
|| _fail "mount failed" || _fail "mount failed"
echo "*** test" echo "*** test"
@@ -88,17 +79,21 @@ do
echo " *** test $l" echo " *** test $l"
src/fsstress -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID >>$seq.full src/fsstress -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID >>$seq.full
mount -o remount,ro $SCRATCH_DEV \ _scratch_mount -o remount,ro \
|| _fail "remount ro failed" || _fail "remount ro failed"
_clean_log $SCRATCH_DEV echo "" >>$seq.full
echo "*** xfs_logprint ***" >>$seq.full
echo "" >>$seq.full
_scratch_xfs_logprint -tb | tee -a $seq.full \
| head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
echo "" >>$seq.full echo "" >>$seq.full
echo "*** XFS_CHECK ***" >>$seq.full echo "*** XFS_CHECK ***" >>$seq.full
echo "" >>$seq.full echo "" >>$seq.full
xfs_check $SCRATCH_DEV >>$seq.full 2>&1 \ xfs_check $SCRATCH_DEV >>$seq.full 2>&1 \
|| _fail "xfs_check failed" || _fail "xfs_check failed"
mount -o remount,rw $SCRATCH_DEV \ _scratch_mount -o remount,rw \
|| _fail "remount rw failed" || _fail "remount rw failed"
done done
+9 -13
View File
@@ -65,18 +65,12 @@ _full()
echo "" >>$seq.full echo "" >>$seq.full
} }
_clean_log()
{
_full "clean_log : xfs_logprint"
xfs_logprint -t $1 | tee -a $seq.full \
| head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
}
_filter_logprint() _filter_logprint()
{ {
sed ' sed '
s/data device: 0x[0-9a-f][0-9a-f]*/data device: <DEVICE>/; s/data device: 0x[0-9a-f][0-9a-f]*/data device: <DEVICE>/;
s/log device: 0x[0-9a-f][0-9a-f]*/log device: <DEVICE>/; s/log device: 0x[0-9a-f][0-9a-f]*/log device: <DEVICE>/;
s/log file: \".*\"/log device: <DEVICE>/;
s/daddr: [0-9][0-9]*/daddr: <DADDR>/; s/daddr: [0-9][0-9]*/daddr: <DADDR>/;
s/length: [0-9][0-9]*/length: <LENGTH>/; s/length: [0-9][0-9]*/length: <LENGTH>/;
s/length: [0-9][0-9]*/length: <LENGTH>/; s/length: [0-9][0-9]*/length: <LENGTH>/;
@@ -103,13 +97,15 @@ _filter_logprint()
_check_log() _check_log()
{ {
_clean_log $SCRATCH_DEV _full "clean_log : xfs_logprint"
_scratch_xfs_logprint -t | tee -a $seq.full \
| head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
echo "### xfs_logprint output ###" echo "### xfs_logprint output ###"
xfs_logprint $SCRATCH_DEV 2>&1 | _filter_logprint _scratch_xfs_logprint 2>&1 | _filter_logprint
echo "### xfs_logprint -t -i -s 0 output ###" echo "### xfs_logprint -t -i -s 0 output ###"
xfs_logprint -t -i -s 0 $SCRATCH_DEV 2>&1 | _filter_logprint _scratch_xfs_logprint -t -i -s 0 2>&1 | _filter_logprint
echo "### xfs_logprint -t -b -s 0 output ###" echo "### xfs_logprint -t -b -s 0 output ###"
xfs_logprint -t -b -s 0 $SCRATCH_DEV 2>&1 | _filter_logprint _scratch_xfs_logprint -t -b -s 0 2>&1 | _filter_logprint
} }
# real QA test starts here # real QA test starts here
@@ -122,7 +118,7 @@ touch $seq.out
umount $SCRATCH_DEV >/dev/null 2>&1 umount $SCRATCH_DEV >/dev/null 2>&1
_full "mkfs" _full "mkfs"
mkfs_xfs -lsize=2000b $SCRATCH_DEV | _filter_mkfs 2>$tmp.mkfs _scratch_mkfs_xfs -lsize=2000b | _filter_mkfs 2>$tmp.mkfs
source $tmp.mkfs source $tmp.mkfs
[ $dbsize -eq 4096 ] \ [ $dbsize -eq 4096 ] \
|| _notrun "Logprint test, tailored to 4K blocks ($dbsize in use)" || _notrun "Logprint test, tailored to 4K blocks ($dbsize in use)"
@@ -134,7 +130,7 @@ source $tmp.mkfs
rm -f $seq.out $seq.full rm -f $seq.out $seq.full
_full " mount" _full " mount"
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT >>$seq.full 2>&1 \ _scratch_mount >>$seq.full 2>&1 \
|| _fail "mount failed" || _fail "mount failed"
_setup_seq_out _setup_seq_out
+4 -4
View File
@@ -130,15 +130,15 @@ _verify_fs()
umount $SCRATCH_DEV >/dev/null 2>&1 umount $SCRATCH_DEV >/dev/null 2>&1
_full "mkfs" _full "mkfs"
mkfs_xfs $VERSION -p $protofile $SCRATCH_DEV >>$seqfull 2>&1 \ _scratch_mkfs_xfs $VERSION -p $protofile >>$seqfull 2>&1 \
|| _fail "mount failed" || _fail "mount failed"
echo "*** check FS" echo "*** check FS"
_check_fs $SCRATCH_DEV _check_scratch_fs
echo "*** mount FS" echo "*** mount FS"
_full " mount" _full " mount"
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT >>$seqfull 2>&1 \ _scratch_mount >>$seqfull 2>&1 \
|| _fail "mount failed" || _fail "mount failed"
echo "*** verify FS" echo "*** verify FS"
@@ -153,7 +153,7 @@ _verify_fs()
|| _fail "umount failed" || _fail "umount failed"
echo "*** check FS" echo "*** check FS"
_check_fs $SCRATCH_DEV _check_scratch_fs
} }
_verify_fs 1 _verify_fs 1
+2 -2
View File
@@ -94,11 +94,11 @@ rm -f $seq.full
umount $SCRATCH_DEV >/dev/null 2>&1 umount $SCRATCH_DEV >/dev/null 2>&1
echo "*** mkfs" echo "*** mkfs"
mkfs_xfs $SCRATCH_DEV >/dev/null \ _scratch_mkfs_xfs >/dev/null \
|| _fail "mkfs failed" || _fail "mkfs failed"
echo "*** mount FS" echo "*** mount FS"
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT >/dev/null \ _scratch_mount >/dev/null \
|| _fail "mount failed" || _fail "mount failed"
testfile=$SCRATCH_MNT/testfile testfile=$SCRATCH_MNT/testfile
+2 -11
View File
@@ -51,15 +51,6 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
mkfs_args=""
logp_args=""
if [ ! -z "$SCRATCH_LOGDEV" ] # test external log if possible
then
_require_logdev
mkfs_args="-l logdev=$SCRATCH_LOGDEV,size=1200b"
logp_args="-l $SCRATCH_LOGDEV"
fi
_filter_logprint() _filter_logprint()
{ {
perl -ne ' perl -ne '
@@ -78,10 +69,10 @@ _filter_logprint()
_require_scratch _require_scratch
echo echo
mkfs_xfs $mkfs_args $SCRATCH_DEV | _filter_mkfs 2>/dev/null _scratch_mkfs_xfs | _filter_mkfs 2>/dev/null
echo echo
xfs_logprint $logp_args $SCRATCH_DEV | _filter_logprint _scratch_xfs_logprint | _filter_logprint
status=0 status=0
exit exit
+3 -3
View File
@@ -80,12 +80,12 @@ DSIZE="-dsize=100m"
# superblock (hanging around from earlier tests)... # superblock (hanging around from earlier tests)...
# #
mkfs_xfs $DSIZE $SCRATCH_DEV >/dev/null 2>&1 _scratch_mkfs_xfs $DSIZE >/dev/null 2>&1
if [ $? -ne 0 ] # probably don't have a big enough scratch if [ $? -ne 0 ] # probably don't have a big enough scratch
then then
_notrun "SCRATCH_DEV too small, results would be non-deterministic" _notrun "SCRATCH_DEV too small, results would be non-deterministic"
else else
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT _scratch_mount
src/feature -U $SCRATCH_DEV && \ src/feature -U $SCRATCH_DEV && \
_notrun "Quota are enabled, test needs controlled sb recovery" _notrun "Quota are enabled, test needs controlled sb recovery"
src/feature -G $SCRATCH_DEV && \ src/feature -G $SCRATCH_DEV && \
@@ -102,7 +102,7 @@ src/devzero -v -1 -n "$clear" $SCRATCH_DEV >/dev/null
# now kick off the real repair test... # now kick off the real repair test...
# #
mkfs_xfs $DSIZE $SCRATCH_DEV | _filter_mkfs 2>$tmp.mkfs _scratch_mkfs_xfs $DSIZE | _filter_mkfs 2>$tmp.mkfs
source $tmp.mkfs source $tmp.mkfs
_check_ag 0 _check_ag 0
_check_ag -1 _check_ag -1
+8 -8
View File
@@ -20,7 +20,7 @@ sb realtime bitmap inode INO inconsistent with calculated value INO
resetting superblock realtime bitmap ino pointer to INO resetting superblock realtime bitmap ino pointer to INO
sb realtime summary inode INO inconsistent with calculated value INO sb realtime summary inode INO inconsistent with calculated value INO
resetting superblock realtime summary ino pointer to INO resetting superblock realtime summary ino pointer to INO
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -49,7 +49,7 @@ done
Corrupting agf 0 - setting bits to 0 Corrupting agf 0 - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
bad magic # 0x0 for agf 0 bad magic # 0x0 for agf 0
@@ -84,7 +84,7 @@ done
Corrupting agi 0 - setting bits to 0 Corrupting agi 0 - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
bad magic # 0x0 for agi 0 bad magic # 0x0 for agi 0
@@ -120,7 +120,7 @@ done
Corrupting agfl 0 - setting bits to 0 Corrupting agfl 0 - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -161,7 +161,7 @@ sb realtime bitmap inode INO inconsistent with calculated value INO
resetting superblock realtime bitmap ino pointer to INO resetting superblock realtime bitmap ino pointer to INO
sb realtime summary inode INO inconsistent with calculated value INO sb realtime summary inode INO inconsistent with calculated value INO
resetting superblock realtime summary ino pointer to INO resetting superblock realtime summary ino pointer to INO
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -192,7 +192,7 @@ done
Corrupting agf 0 - setting bits to -1 Corrupting agf 0 - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
bad magic # 0xffffffff for agf 0 bad magic # 0xffffffff for agf 0
@@ -231,7 +231,7 @@ done
Corrupting agi 0 - setting bits to -1 Corrupting agi 0 - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
bad magic # 0xffffffff for agi 0 bad magic # 0xffffffff for agi 0
@@ -267,7 +267,7 @@ done
Corrupting agfl 0 - setting bits to -1 Corrupting agfl 0 - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
+12 -10
View File
@@ -54,11 +54,11 @@ rm -f $seq.full
_check_repair() _check_repair()
{ {
xfs_repair $SCRATCH_DEV >$tmp.0 2>&1 _scratch_xfs_repair >$tmp.0 2>&1
for i in 1 2 3 4 for i in 1 2 3 4
do do
echo "Repairing, iteration $i" | tee -a $seq.full echo "Repairing, iteration $i" | tee -a $seq.full
xfs_repair $SCRATCH_DEV 2>&1 | tee -a $seq.full >$tmp.$i _scratch_xfs_repair 2>&1 | tee -a $seq.full >$tmp.$i
diff $tmp.0 $tmp.$i >> $seq.full diff $tmp.0 $tmp.$i >> $seq.full
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "ERROR: repair round $i differs (see $seq.full)" echo "ERROR: repair round $i differs (see $seq.full)"
@@ -67,6 +67,8 @@ _check_repair()
# echo all interesting stuff... # echo all interesting stuff...
perl -ne ' perl -ne '
s/(rebuilding directory inode) (\d+)/\1 INO/g; s/(rebuilding directory inode) (\d+)/\1 INO/g;
s/internal log/<TYPEOF> log/g;
s/external log on \S+/<TYPEOF> log/g;
/^\S+/ && print; /^\S+/ && print;
' $tmp.$i ' $tmp.$i
done done
@@ -102,34 +104,34 @@ EOF
# #
_require_scratch _require_scratch
MKFSV1="-p $tmp.proto -n version=1 $SCRATCH_DEV" MKFSV1="-p $tmp.proto -n version=1"
MKFSV2="-p $tmp.proto -n version=2 $SCRATCH_DEV" MKFSV2="-p $tmp.proto -n version=2"
# sanity test - default + one root directory entry # sanity test - default + one root directory entry
_create_proto 0 _create_proto 0
echo "=== version 1, one entry" echo "=== version 1, one entry"
mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
echo "=== version 2, one entry (shortform)" echo "=== version 2, one entry (shortform)"
mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
# block-form root directory & repeat # block-form root directory & repeat
_create_proto 20 _create_proto 20
echo "=== version 1, twenty entries" echo "=== version 1, twenty entries"
mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
echo "=== version 2, twenty entries (block form)" echo "=== version 2, twenty entries (block form)"
mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
# leaf-form root directory & repeat # leaf-form root directory & repeat
_create_proto 1000 _create_proto 1000
echo "=== version 1, thousand entries" echo "=== version 1, thousand entries"
mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV1 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
echo "=== version 2, thousand entries (leaf form)" echo "=== version 2, thousand entries (leaf form)"
mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs $MKFSV2 | _filter_mkfs >/dev/null 2>&1
_check_repair _check_repair
# success, all done # success, all done
+24 -24
View File
@@ -2,7 +2,7 @@ QA output created by 031
=== version 1, one entry === version 1, one entry
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -11,7 +11,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -20,7 +20,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -29,7 +29,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -40,7 +40,7 @@ done
=== version 2, one entry (shortform) === version 2, one entry (shortform)
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -49,7 +49,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -58,7 +58,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -67,7 +67,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -78,7 +78,7 @@ done
=== version 1, twenty entries === version 1, twenty entries
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -87,7 +87,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -96,7 +96,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -105,7 +105,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -116,7 +116,7 @@ done
=== version 2, twenty entries (block form) === version 2, twenty entries (block form)
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -126,7 +126,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -136,7 +136,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -146,7 +146,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -158,7 +158,7 @@ done
=== version 1, thousand entries === version 1, thousand entries
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -167,7 +167,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -176,7 +176,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -185,7 +185,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -196,7 +196,7 @@ done
=== version 2, thousand entries (leaf form) === version 2, thousand entries (leaf form)
Repairing, iteration 1 Repairing, iteration 1
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -206,7 +206,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 2 Repairing, iteration 2
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -216,7 +216,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 3 Repairing, iteration 3
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
@@ -226,7 +226,7 @@ Phase 7 - verify and correct link counts...
done done
Repairing, iteration 4 Repairing, iteration 4
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
Phase 3 - for each AG... Phase 3 - for each AG...
Phase 4 - check for duplicate blocks... Phase 4 - check for duplicate blocks...
Phase 5 - rebuild AG headers and trees... Phase 5 - rebuild AG headers and trees...
+3 -3
View File
@@ -75,16 +75,16 @@ _check_root_inos()
_require_scratch _require_scratch
# devzero blows away 512byte blocks, so make 512byte inodes (at least) # devzero blows away 512byte blocks, so make 512byte inodes (at least)
mkfs_xfs $SCRATCH_DEV | _filter_mkfs 2>$tmp.mkfs _scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
source $tmp.mkfs source $tmp.mkfs
[ $isize -lt 512 ] && \ [ $isize -lt 512 ] && \
mkfs_xfs -isize=512 $SCRATCH_DEV | _filter_mkfs >/dev/null 2>&1 _scratch_mkfs_xfs -isize=512 | _filter_mkfs >/dev/null 2>&1
`xfs_db -r -c sb -c p $SCRATCH_DEV | grep 'ino = ' | \ `xfs_db -r -c sb -c p $SCRATCH_DEV | grep 'ino = ' | \
sed -e 's/ //g' -e 's/^/export /'` sed -e 's/ //g' -e 's/^/export /'`
# check we won't get any quota inodes setup on mount # check we won't get any quota inodes setup on mount
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT _scratch_mount
src/feature -U $SCRATCH_DEV && \ src/feature -U $SCRATCH_DEV && \
_notrun "Quota are enabled, test needs controlled sb recovery" _notrun "Quota are enabled, test needs controlled sb recovery"
src/feature -G $SCRATCH_DEV && \ src/feature -G $SCRATCH_DEV && \
+6 -6
View File
@@ -8,7 +8,7 @@ realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
Corrupting root inode - setting bits to 0 Corrupting root inode - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -44,7 +44,7 @@ done
Corrupting rt bitmap inode - setting bits to 0 Corrupting rt bitmap inode - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -80,7 +80,7 @@ done
Corrupting rt summary inode - setting bits to 0 Corrupting rt summary inode - setting bits to 0
Wrote X.XXKb (value 0x0) Wrote X.XXKb (value 0x0)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -116,7 +116,7 @@ done
Corrupting root inode - setting bits to -1 Corrupting root inode - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -154,7 +154,7 @@ done
Corrupting rt bitmap inode - setting bits to -1 Corrupting rt bitmap inode - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
@@ -192,7 +192,7 @@ done
Corrupting rt summary inode - setting bits to -1 Corrupting rt summary inode - setting bits to -1
Wrote X.XXKb (value 0xffffffff) Wrote X.XXKb (value 0xffffffff)
Phase 1 - find and verify superblock... Phase 1 - find and verify superblock...
Phase 2 - using internal log Phase 2 - using <TYPEOF> log
- zero log... - zero log...
- scan filesystem freespace and inode maps... - scan filesystem freespace and inode maps...
- found root inode chunk - found root inode chunk
+4 -4
View File
@@ -67,14 +67,14 @@ rm -f $seq.full
umount $SCRATCH_DEV >/dev/null 2>&1 umount $SCRATCH_DEV >/dev/null 2>&1
echo "*** MKFS ***" >>$seq.full echo "*** MKFS ***" >>$seq.full
echo "" >>$seq.full echo "" >>$seq.full
mkfs_xfs $SCRATCH_DEV >>$seq.full 2>&1 \ _scratch_mkfs_xfs >>$seq.full 2>&1 \
|| _fail "mkfs failed" || _fail "mkfs failed"
mount -t xfs $SCRATCH_DEV $SCRATCH_MNT >>$seq.full 2>&1 \ _scratch_mount >>$seq.full 2>&1 \
|| _fail "mount failed" || _fail "mount failed"
echo "*** test" echo "*** test"
_check_fs $SCRATCH_DEV _check_scratch_fs
if ! touch $SCRATCH_MNT/fish if ! touch $SCRATCH_MNT/fish
then then
@@ -95,7 +95,7 @@ then
fi fi
# pv 801241 causes corruption here (inode left in agi_unlinked list) # pv 801241 causes corruption here (inode left in agi_unlinked list)
_check_fs $SCRATCH_DEV _check_scratch_fs
echo "*** done" echo "*** done"
# happy exit # happy exit
+3 -3
View File
@@ -75,8 +75,8 @@ rm -f $seq.full
#agsize=16 #agsize=16
agsize=32 agsize=32
echo -n "Make $agsize megabyte filesystem on SCRATCH_DEV and mount... " echo -n "Make $agsize megabyte filesystem on SCRATCH_DEV and mount... "
_do "mkfs_xfs -dsize=${agsize}m,agcount=1 $SCRATCH_DEV" _do "_scratch_mkfs_xfs -dsize=${agsize}m,agcount=1"
_do "mount -t xfs $SCRATCH_DEV $SCRATCH_MNT" _do "_scratch_mount"
echo "done" echo "done"
# full allocation group -> partial; partial -> expand partial + new partial; # full allocation group -> partial; partial -> expand partial + new partial;
@@ -90,7 +90,7 @@ do
_do "Grow filesystem to $size blocks" "xfs_growfs -D ${size} $SCRATCH_MNT" _do "Grow filesystem to $size blocks" "xfs_growfs -D ${size} $SCRATCH_MNT"
echo -n "Flush filesystem... " echo -n "Flush filesystem... "
_do "umount $SCRATCH_MNT" _do "umount $SCRATCH_MNT"
_do "mount -t xfs $SCRATCH_DEV $SCRATCH_MNT" _do "_scratch_mount"
echo "done" echo "done"
echo -n "Check files... " echo -n "Check files... "
if ! _do "src/fill2fs_check $tmp.manifest"; then if ! _do "src/fill2fs_check $tmp.manifest"; then
+7 -9
View File
@@ -100,13 +100,11 @@ _cull_files()
# xfs_repair is going to need three to verify the superblock # xfs_repair is going to need three to verify the superblock
rm -f $seq.full rm -f $seq.full
bmap_cmd="xfs_bmap -v"
mnt_cmd="mount -t xfs $SCRATCH_DEV $SCRATCH_MNT"
_do_die_on_error=message_only _do_die_on_error=message_only
echo -n "Make a 48 megabyte filesystem on SCRATCH_DEV and mount... " echo -n "Make a 48 megabyte filesystem on SCRATCH_DEV and mount... "
_do "mkfs_xfs -dsize=48m,agcount=3 $SCRATCH_DEV" _do "_scratch_mkfs_xfs -dsize=48m,agcount=3"
_do "$mnt_cmd" _do "_scratch_mount"
echo "done" echo "done"
echo -n "Reserve 16 1Mb unfragmented regions... " echo -n "Reserve 16 1Mb unfragmented regions... "
@@ -114,7 +112,7 @@ for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
do do
_do "dd if=/dev/zero of=$SCRATCH_MNT/hole$i bs=4096 count=256" _do "dd if=/dev/zero of=$SCRATCH_MNT/hole$i bs=4096 count=256"
_do "dd if=/dev/zero of=$SCRATCH_MNT/space$i bs=4096 count=1" _do "dd if=/dev/zero of=$SCRATCH_MNT/space$i bs=4096 count=1"
_do "$bmap_cmd $SCRATCH_MNT/hole$i" _do "xfs_bmap -v $SCRATCH_MNT/hole$i"
done done
echo "done" echo "done"
@@ -125,7 +123,7 @@ _do "src/fill2fs $fill_options --dir=$SCRATCH_MNT/fill --list=- > $tmp.manifest"
echo "done" echo "done"
# flush the filesystem - make sure there is no space "lost" to pre-allocation # flush the filesystem - make sure there is no space "lost" to pre-allocation
_do "umount $SCRATCH_MNT" _do "umount $SCRATCH_MNT"
_do "$mnt_cmd" _do "_scratch_mount"
echo -n "Use up any further available space using dd... " echo -n "Use up any further available space using dd... "
_do "dd if=/dev/zero of=$SCRATCH_MNT/pad bs=4096" _do "dd if=/dev/zero of=$SCRATCH_MNT/pad bs=4096"
echo "done" echo "done"
@@ -135,13 +133,13 @@ _do "Delete every second file" "_cull_files"
echo -n "Create one very large file... " echo -n "Create one very large file... "
_do "src/fill2 -d nbytes=16000000,file=$SCRATCH_MNT/fragmented" _do "src/fill2 -d nbytes=16000000,file=$SCRATCH_MNT/fragmented"
echo "done" echo "done"
_do "$bmap_cmd $SCRATCH_MNT/fragmented" _do "xfs_bmap -v $SCRATCH_MNT/fragmented"
_do "sum $SCRATCH_MNT/fragmented >$tmp.sum1" _do "sum $SCRATCH_MNT/fragmented >$tmp.sum1"
_do "Remove other files" "rm -rf $SCRATCH_MNT/{pad,hole*}" _do "Remove other files" "rm -rf $SCRATCH_MNT/{pad,hole*}"
# defragment # defragment
_do "Run xfs_fsr on filesystem" "xfs_fsr -v $SCRATCH_DEV" _do "Run xfs_fsr on filesystem" "xfs_fsr -v $SCRATCH_DEV"
_do "$bmap_cmd $SCRATCH_MNT/fragmented" _do "xfs_bmap -v $SCRATCH_MNT/fragmented"
_do "Check 4k files" "src/fill2fs_check $tmp.manifest" _do "Check 4k files" "src/fill2fs_check $tmp.manifest"
# check # check
@@ -153,7 +151,7 @@ if ! _do "diff $tmp.sum1 $tmp.sum2"; then
status=1; exit status=1; exit
fi fi
echo "done" echo "done"
_do "Checking filesystem" "_check_fs $SCRATCH_DEV" _do "Checking filesystem" "_check_scratch_fs"
# success, all done # success, all done
echo "xfs_fsr tests passed." echo "xfs_fsr tests passed."
+3 -6
View File
@@ -70,7 +70,7 @@ _filter_logprint()
_check_mount() _check_mount()
{ {
echo " *** mount (expect success)" echo " *** mount (expect success)"
if ! mount -t xfs -o logdev=$SCRATCH_LOGDEV $SCRATCH_DEV $SCRATCH_MNT if ! _scratch_mount
then then
echo " !!! mount failed (expecting success)" echo " !!! mount failed (expecting success)"
status=1 status=1
@@ -89,7 +89,7 @@ _check_mount()
_check_no_mount() _check_no_mount()
{ {
echo " *** mount (expect failure)" echo " *** mount (expect failure)"
if mount -t xfs -o logdev=$SCRATCH_LOGDEV $SCRATCH_DEV $SCRATCH_MNT >$tmp.err 2>&1 if _scratch_mount >$tmp.err 2>&1
then then
cat $tmp.err cat $tmp.err
echo " !!! mount succeeded (expecting failure)" echo " !!! mount succeeded (expecting failure)"
@@ -128,10 +128,7 @@ echo "*** mkfs"
lversion=1 lversion=1
lsize=16777216 lsize=16777216
ldev=$SCRATCH_LOGDEV _scratch_mkfs_xfs -lsize=$lsize,version=$lversion | _filter_mkfs 2>/dev/null
MKFS_OPTIONS="-llogdev=$ldev,size=$lsize,version=$lversion"; export MKFS_OPTIONS
mkfs_xfs $logopts $SCRATCH_DEV | _filter_mkfs 2>/dev/null
_check_mount _check_mount
_check_require_logdev _check_require_logdev

Some files were not shown because too many files have changed in this diff Show More