On Tue, Aug 30, 2022 at 12:44:32PM +0800, Murphy Zhou wrote: > Since this xfsprogs commit: > 6e0ed3d19c54 mkfs: stop allowing tiny filesystems > Single-AG xfs is not allowed. > > Remove agcount=1 from mkfs options and xfs/202 entirely. It's not supported for /new/ filesystems, but the rest of the tools must continue the same levels of support for existing filesystems, even if they cannot be created today. Second, there exist fstests that need to create a specific layout to test some part of the code. Single-AG filesystems sometimes make this much easier. Both of these reasons are why fstests (and LTP) get a special pass on all the new checks in mkfs 5.19. IOWs, we still need to check that xfs_repair works ok for existing single AG filesystems. We can perhaps drop these tests in a decade or so, but now is premature. --D > Signed-off-by: Murphy Zhou <jencce.kernel@xxxxxxxxx> > --- > tests/xfs/179 | 2 +- > tests/xfs/202 | 40 ---------------------------------------- > tests/xfs/202.out | 29 ----------------------------- > tests/xfs/520 | 2 +- > 4 files changed, 2 insertions(+), 71 deletions(-) > delete mode 100755 tests/xfs/202 > delete mode 100644 tests/xfs/202.out > > diff --git a/tests/xfs/179 b/tests/xfs/179 > index ec0cb7e5..f0169717 100755 > --- a/tests/xfs/179 > +++ b/tests/xfs/179 > @@ -22,7 +22,7 @@ _require_cp_reflink > _require_test_program "punch-alternating" > > echo "Format and mount" > -_scratch_mkfs -d agcount=1 > $seqres.full 2>&1 > +_scratch_mkfs > $seqres.full 2>&1 > _scratch_mount >> $seqres.full 2>&1 > > testdir=$SCRATCH_MNT/test-$seq > diff --git a/tests/xfs/202 b/tests/xfs/202 > deleted file mode 100755 > index 5075d3a1..00000000 > --- a/tests/xfs/202 > +++ /dev/null > @@ -1,40 +0,0 @@ > -#! /bin/bash > -# SPDX-License-Identifier: GPL-2.0 > -# Copyright (c) 2009 Christoph Hellwig. > -# > -# FS QA Test No. 202 > -# > -# Test out the xfs_repair -o force_geometry option on single-AG filesystems. > -# > -. ./common/preamble > -_begin_fstest repair auto quick > - > -# Import common functions. > -. ./common/filter > -. ./common/repair > - > -# real QA test starts here > -_supported_fs xfs > - > -# single AG will cause default xfs_repair to fail. This test is actually > -# testing the special corner case option needed to repair a single AG fs. > -_require_scratch_nocheck > - > -# > -# The AG size is limited to 1TB (or even less with historic xfsprogs), > -# so chose a small enough filesystem to make sure we can actually create > -# a single AG filesystem. > -# > -echo "== Creating single-AG filesystem ==" > -_scratch_mkfs_xfs -d agcount=1 -d size=$((1024*1024*1024)) >/dev/null 2>&1 \ > - || _fail "!!! failed to make filesystem with single AG" > - > -echo "== Trying to repair it (should fail) ==" > -_scratch_xfs_repair > - > -echo "== Trying to repair it with -o force_geometry ==" > -_scratch_xfs_repair -o force_geometry 2>&1 | _filter_repair > - > -# success, all done > -echo "*** done" > -status=0 > diff --git a/tests/xfs/202.out b/tests/xfs/202.out > deleted file mode 100644 > index c2c5c881..00000000 > --- a/tests/xfs/202.out > +++ /dev/null > @@ -1,29 +0,0 @@ > -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 <TYPEOF> 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... > - - process newly discovered inodes... > -Phase 4 - check for duplicate blocks... > - - setting up duplicate extent list... > - - check for inodes claiming duplicate blocks... > -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 > diff --git a/tests/xfs/520 b/tests/xfs/520 > index d9e252bd..de70db60 100755 > --- a/tests/xfs/520 > +++ b/tests/xfs/520 > @@ -60,7 +60,7 @@ force_crafted_metadata() { > } > > bigval=100000000 > -fsdsopt="-d agcount=1,size=512m" > +fsdsopt="-d size=512m" > > force_crafted_metadata freeblks 0 "agf 0" > force_crafted_metadata longest $bigval "agf 0" > -- > 2.31.1 >