Hi Darrick, Eryu
It seems that fstests missed this patch. I used lastest xfsprogs
(include commit a891d871 xfs_repair: complain about ag header crc
errors) and xfs/030 still fails because of CRC verification warnings.
Best Regards
Yang Xu
On Wed, Jul 29, 2020 at 12:49:56PM +0800, Zorro Lang wrote:
On Tue, Jul 28, 2020 at 07:51:19PM -0700, Darrick J. Wong wrote:
From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Filter out the new AG header CRC verification warnings in xfs_repair
since these tests were built before that existed.
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
Hi Darrick,
I still hit an error[1] on xfs/030 after merge your patch.
D'oh, I forgot to send that one out in this batch. Will fix that
shortly.
--D
Thanks,
Zorro
# diff -u ./tests/xfs/030.out ./results//xfs/030.out.bad
--- /root/git/xfstests-dev/tests/xfs/030.out 2020-03-12 11:22:50.063148796 +0800
+++ /root/git/xfstests-dev/results//xfs/030.out.bad 2020-07-29 12:33:08.485428533 +0800
@@ -105,6 +105,7 @@
Phase 2 - using <TYPEOF> log
- zero log...
- scan filesystem freespace and inode maps...
+bad agbno AGBNO in agfl, agno 0
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
tests/xfs/010 | 7 ++++++-
tests/xfs/030 | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/xfs/010 b/tests/xfs/010
index e220a651..b65dd3ba 100755
--- a/tests/xfs/010
+++ b/tests/xfs/010
@@ -113,7 +113,12 @@ _check_scratch_fs
# nuke the finobt root, repair will have to regenerate from the inobt
_corrupt_finobt_root $SCRATCH_DEV
-_scratch_xfs_repair 2>&1 | _filter_repair_lostblocks
+filter_finobt_repair() {
+ sed -e '/^agi has bad CRC/d' | \
+ _filter_repair_lostblocks
+}
+
+_scratch_xfs_repair 2>&1 | filter_finobt_repair
status=0
exit
diff --git a/tests/xfs/030 b/tests/xfs/030
index efdb6a18..ebe4c92a 100755
--- a/tests/xfs/030
+++ b/tests/xfs/030
@@ -42,6 +42,8 @@ _check_ag()
-e '/^bad agbno AGBNO for finobt/d' \
-e '/^bad agbno AGBNO for rmapbt/d' \
-e '/^bad agbno AGBNO for refcntbt/d' \
+ -e '/^agf has bad CRC/d' \
+ -e '/^agi has bad CRC/d' \
-e '/^Missing reverse-mapping record.*/d' \
-e '/^unknown block state, ag AGNO, block.*/d'
done