mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
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:
committed by
Christoph Hellwig
parent
c835227935
commit
7d1210aa23
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user