xfstests: add test 202, xfs_repair handling of single-AG filesystems
PATCH 1/1 xfstests: add test 202, xfs_repair handling of single-AG filesystems
Signed-off-by Christoph Hellwig <[email protected]>
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
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
group +1 -0
@@ -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
Quoted 1 line · Christoph Hellwig
Signed-off-by Christoph Hellwig <[email protected]>
Reviewed-by Eric Sandeen <[email protected]>
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=0Index: 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 +*** doneIndex: 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