--- /dev/null
+#! /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
--- /dev/null
+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