Hm. Does anyone /else/ see failures with the new test xfs/168 (the fs shrink tests) on a 1k blocksize? It looks as though we shrink the AG so small that we trip the assert at the end of xfs_ag_resv_init that checks that the reservations for an AG don't exceed the free space in that AG, but tripping that doesn't return any error code, so xfs_ag_shrink_space commits the new fs size and presses on with even more shrinking until we've depleted AG 1 so thoroughly that the fs won't mount anymore. At a bare minimum we probably need to check the same thing the assert does and bail out of the shrink; or maybe we just need to create a function to adjust an AG's reservation to make that function less complicated. --D FSTYP -- xfs (debug) PLATFORM -- Linux/x86_64 flax-mtr00 5.13.0-rc2-xfsx #rc2 SMP PREEMPT Mon May 17 15:26:13 PDT 2021 MKFS_OPTIONS -- -f -b size=1024, /dev/sdf MOUNT_OPTIONS -- -o usrquota,grpquota,prjquota, /dev/sdf /opt xfs/168 Message from syslogd@flax-mtr00 at May 19 13:50:05 ... kernel:[ 9688.703923] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 Message from syslogd@flax-mtr00 at May 19 13:50:06 ... kernel:[ 9689.186021] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 Message from syslogd@flax-mtr00 at May 19 13:50:07 ... kernel:[ 9690.313532] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 Message from syslogd@flax-mtr00 at May 19 13:50:07 ... kernel:[ 9690.359752] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 Message from syslogd@flax-mtr00 at May 19 13:50:07 ... kernel:[ 9690.406718] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 Message from syslogd@flax-mtr00 at May 19 13:50:07 ... kernel:[ 9690.977567] XFS: Assertion failed: xfs_perag_resv(pag, XFS_AG_RESV_METADATA)->ar_reserved + xfs_perag_resv(pag, XFS_AG_RESV_RMAPBT)->ar_reserved <= pag->pagf_freeblks + pag->pagf_flcount, file: fs/xfs/libxfs/xfs_ag_resv.c, line: 332 [failed, exit status 1]- output mismatch (see /var/tmp/fstests/xfs/168.out.bad) --- tests/xfs/168.out 2021-05-16 18:48:31.290361859 -0700 +++ /var/tmp/fstests/xfs/168.out.bad 2021-05-19 13:50:09.520067445 -0700 @@ -1,2 +1,3 @@ QA output created by 168 -Silence is golden +xfs_repair failed with shrinking 748457 +(see /var/tmp/fstests/xfs/168.full for details) ... (Run 'diff -u /tmp/fstests/tests/xfs/168.out /var/tmp/fstests/xfs/168.out.bad' to see the entire diff) Ran: xfs/168 Failures: xfs/168 Failed 1 of 1 tests Test xfs/168 FAILED with code 1 and bad golden output: --- /tmp/fstests/tests/xfs/168.out 2021-05-16 18:48:31.290361859 -0700 +++ /var/tmp/fstests/xfs/168.out.bad 2021-05-19 13:50:09.520067445 -0700 @@ -1,2 +1,3 @@ QA output created by 168 -Silence is golden +xfs_repair failed with shrinking 748457 +(see /var/tmp/fstests/xfs/168.full for details) --D