Skip to contentSkip to conversation

xfstests: add test 202, xfs_repair handling of single-AG filesystems

PATCH In review Christoph Hellwig 2 participants 2 messages Jan 23, 2009 – Jan 25, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 xfstests: add test 202, xfs_repair handling of single-AG filesystems

202 new file +42 -0
Index: xfstests-dev/202
===================================================================
@@ -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
[email protected]
+
+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
202.out new file +31 -0
Index: xfstests-dev/202.out
===================================================================
@@ -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
group +1 -0
Index: xfstests-dev/group
===================================================================
@@ -303,3 +303,4 @@
 199 mount auto
 200 mount auto
 201 metadata auto
+202 repair auto

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

Reviewed-by on v1 1/1
#1 lore raw
Quoted 1 line · Christoph Hellwig
Quoted 93 lines

Index: xfstests-dev/202
===================================================================

202 new file +42 -0
@@ -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
[email protected]
+
+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
===================================================================

202.out new file +31 -0
@@ -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
===================================================================

group +1 -0
@@ -303,3 +303,4 @@
 199 mount auto
 200 mount auto
 201 metadata auto
+202 repair auto
Quoted 5 lines

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs