[PATCH] xfstests: add test 202, xfs_repair handling of single-AG filesystems
Christoph Hellwig
hch at infradead.org
Thu Jan 22 18:04:18 CST 2009
Signed-off-by: Christoph Hellwig <hch at lst.de>
Index: xfstests-dev/202
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xfstests-dev/202 2009-01-22 23:14:28.000000000 +0000
@@ -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 at 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
Index: xfstests-dev/202.out
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ xfstests-dev/202.out 2009-01-22 23:15:43.000000000 +0000
@@ -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
Index: xfstests-dev/group
===================================================================
--- xfstests-dev.orig/group 2009-01-22 22:52:48.000000000 +0000
+++ xfstests-dev/group 2009-01-22 22:52:53.000000000 +0000
@@ -303,3 +303,4 @@
199 mount auto
200 mount auto
201 metadata auto
+202 repair auto
More information about the xfs
mailing list