fstests: make xfs/006 generic

xfs/006 has no requirements that are specific to XFS, so make it generic
and other filesystems could get some coverage too.

Along with the movement, I also added a test that removes all created
dirs, as that's how the original bug was found.

Signed-off-by: Eryu Guan <eguan@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Eryu Guan
2016-03-23 17:39:11 +11:00
committed by Dave Chinner
parent 26ae452604
commit 848f580287
5 changed files with 23 additions and 41 deletions
+20 -12
View File
@@ -1,5 +1,5 @@
#! /bin/bash
# FS QA Test No. 006
# FS QA Test No. 339
#
# Test that directory hash entries are place in the correct order.
# commit f5ea110 ("xfs: add CRCs to dir2/da node blocks") left the
@@ -34,29 +34,37 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/repair
# real QA test starts here
_supported_fs xfs
_supported_fs generic
_supported_os Linux
_require_scratch
_require_test_program "dirhash_collide"
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
_scratch_mount | _filter_scratch
rm -f $seqres.full
_scratch_mkfs >>$seqres.full 2>&1
_scratch_mount
mkdir $SCRATCH_MNT/x
$here/src/dirhash_collide -d -n 10000 $SCRATCH_MNT/x
_scratch_unmount 2>&1 | _filter_scratch
echo "Silence is golden"
_scratch_xfs_repair 2>&1 | _filter_repair
testdir=$SCRATCH_MNT/$seq.$$
mkdir -p $testdir
$here/src/dirhash_collide -d -n 10000 $testdir >>$seqres.full 2>&1
# check the scratch device
_scratch_unmount
_check_scratch_fs
# remove all test dirs and let test harness check scratch fs again
_scratch_mount
rm -rf $testdir
# success, all done
status=0
+2
View File
@@ -0,0 +1,2 @@
QA output created by 339
Silence is golden
+1
View File
@@ -341,3 +341,4 @@
336 auto quick metadata
337 auto quick metadata
338 auto quick rw
339 auto dir
-28
View File
@@ -1,28 +0,0 @@
QA output created by 006
meta-data=DDEV isize=XXX agcount=N, agsize=XXX blks
data = bsize=XXX blocks=XXX, imaxpct=PCT
= sunit=XXX swidth=XXX, unwritten=X
naming =VERN bsize=XXX
log =LDEV bsize=XXX blocks=XXX
realtime =RDEV extsz=XXX blocks=XXX, rtextents=XXX
Phase 1 - find and verify superblock...
Phase 2 - using <TYPEOF> log
- zero log...
- scan filesystem freespace and inode maps...
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
-1
View File
@@ -3,7 +3,6 @@
003 db auto quick
004 db auto quick
005 auto quick
006 auto dir
007 auto quota quick
008 rw ioctl auto quick
009 rw ioctl auto prealloc quick