add test 202, xfs_repair handling of single-AG filesystems

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
This commit is contained in:
Christoph Hellwig
2009-01-25 21:31:16 +01:00
committed by Christoph Hellwig
parent c835227935
commit 7d1210aa23
3 changed files with 74 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#! /bin/sh
# FS QA Test No. 202
#
# Test out the xfs_repair -o force_geometry option on single-AG filesystems.
#
#-----------------------------------------------------------------------
# Copyright (c) 2009 Christoph Hellwig.
#-----------------------------------------------------------------------
#
# creator
owner=hch@lst.de
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
# real QA test starts here
_supported_fs xfs
_supported_os Linux
_require_scratch
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
echo "== Trying to repair it with -o force_geometry =="
xfs_repair -o force_geometry $SCRATCH_DEV
# success, all done
echo "*** done"
rm -f $seq.full
status=0
+31
View File
@@ -0,0 +1,31 @@
QA output created by 202
== Creating single-AG filesystem ==
== Trying to repair it (should fail) ==
Phase 1 - find and verify superblock...
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
- 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...
- 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
*** done
+1
View File
@@ -303,3 +303,4 @@ atime
199 mount auto
200 mount auto
201 metadata auto
202 repair auto