xfstests: a couple of fixes for external logs

Fix a couple of issues when running xfsqa with external logs:

 - update the 096 golden output for the external log case
 - add a new _scratch_xfs_check similar to _scratch_xfs_logprint and
   _scratch_xfs_repair that take the log device into account and use it
   in test 134
 - use _scratch_xfs_repair in test 202 to fix it for external log
   devices

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
This commit is contained in:
Christoph Hellwig
2009-03-21 21:04:13 +01:00
committed by Christoph Hellwig
parent b9f1319261
commit 2370bb6d22
5 changed files with 15 additions and 8 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ do
echo "" >>$seq.full
echo "*** XFS_CHECK ***" >>$seq.full
echo "" >>$seq.full
xfs_check $checkopts $SCRATCH_DEV >>$seq.full 2>&1 \
_scratch_xfs_check $checkopts >>$seq.full 2>&1 \
|| _fail "xfs_check $checkopts failed"
_scratch_mount -o remount,rw \
|| _fail "remount rw failed"
+2 -2
View File
@@ -30,7 +30,7 @@ realtime =REALTIME extsz=N, blocks=N, rtextents=N
# test out data stripe
--- mkfs=-d su=266240,sw=1 ---
--- mkfs=-l version=1 -d su=266240,sw=1 ---
meta-data=DEV isize=256 agcount=N, agsize=N blks
data = bsize=4096 blocks=N, imaxpct=25
= sunit=65 swidth=65 blks, unwritten=1
@@ -41,7 +41,7 @@ realtime =REALTIME extsz=N, blocks=N, rtextents=N
# test out data stripe the same but using sunit & swidth
--- mkfs=-d sunit=520,swidth=520 ---
--- mkfs=-l version=1 -d sunit=520,swidth=520 ---
meta-data=DEV isize=256 agcount=N, agsize=N blks
data = bsize=4096 blocks=N, imaxpct=25
= sunit=65 swidth=65 blks, unwritten=1
+3 -2
View File
@@ -20,6 +20,7 @@ status=1 # failure is the default!
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
. ./common.repair
# real QA test starts here
_supported_fs xfs
@@ -31,10 +32,10 @@ echo "== Creating single-AG filesystem =="
_scratch_mkfs_xfs -d agcount=1 >/dev/null 2>&1
echo "== Trying to repair it (should fail) =="
xfs_repair $SCRATCH_DEV
_scratch_xfs_repair
echo "== Trying to repair it with -o force_geometry =="
xfs_repair -o force_geometry $SCRATCH_DEV
_scratch_xfs_repair -o force_geometry 2>&1 | _filter_repair
# success, all done
echo "*** done"
+1 -3
View File
@@ -6,19 +6,17 @@ Only one AG detected - cannot validate filesystem geometry.
Use the -o force_geometry option to proceed.
== Trying to repair it with -o force_geometry ==
Phase 1 - find and verify superblock...
Phase 2 - using internal log
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...
- agno = 0
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
+8
View File
@@ -268,6 +268,14 @@ _scratch_xfs_logprint()
$XFS_LOGPRINT_PROG $SCRATCH_OPTIONS $* $SCRATCH_DEV
}
_scratch_xfs_check()
{
SCRATCH_OPTIONS=""
[ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
SCRATCH_OPTIONS="-l $SCRATCH_LOGDEV"
$XFS_CHECK_PROG $SCRATCH_OPTIONS $* $SCRATCH_DEV
}
_scratch_xfs_repair()
{
SCRATCH_OPTIONS=""