From 3e026f5937c68722f7d30fc63fa4529e43f3d0b8 Mon Sep 17 00:00:00 2001 From: Eryu Guan Date: Tue, 5 Apr 2016 11:48:16 +1000 Subject: [PATCH] xfs/030: filter out repeated lines from .out files Commit 31f48569c353 ("xfs/030: fix output on newer filesystems") added more lines to .out file to match the output from XFS with reflink support, but it broke test on older XFS. Dave explained the reason and pointed out the correct way to fix it, so I just quote Dave's mail here: "The problem here is that reflink triggers a change in the initial population of the AGFL - from 4 blocks to 6 blocks, and so repair warns 6 times instead of 4. After filtering, that gives 6 indentical output lines instead of 4. Doing something as simple as collapsing repeated identical lines (e.g filtering through uniq) will work for all filesystem formats and any future changes that modify the initial AGFL population." Suggested-by: Dave Chinner Signed-off-by: Eryu Guan Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- tests/xfs/030 | 2 +- tests/xfs/030.out.irix | 3 --- tests/xfs/030.out.linux | 5 ----- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/tests/xfs/030 b/tests/xfs/030 index 33c906c9..5c99d9ed 100755 --- a/tests/xfs/030 +++ b/tests/xfs/030 @@ -55,7 +55,7 @@ _check_ag() for structure in 'sb 0' 'agf 0' 'agi 0' 'agfl 0' do echo "Corrupting $structure - setting bits to $1" - _check_repair $1 "$structure" | + _check_repair $1 "$structure" | uniq | sed -e '/^error following ag 0 unlinked list$/d' \ -e '/^bad agbno AGBNO for finobt/d' \ -e '/^bad agbno AGBNO for rmapbt/d' \ diff --git a/tests/xfs/030.out.irix b/tests/xfs/030.out.irix index 6378c73f..56adfd05 100644 --- a/tests/xfs/030.out.irix +++ b/tests/xfs/030.out.irix @@ -262,9 +262,6 @@ Wrote X.XXKb (value 0xffffffff) Phase 1 - find and verify superblock... Phase 2 - zero log... - scan filesystem freespace and inode maps... -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 bad agbno AGBNO in agfl, agno 0 - found root inode chunk Phase 3 - for each AG... diff --git a/tests/xfs/030.out.linux b/tests/xfs/030.out.linux index 14b9b355..722cabf4 100644 --- a/tests/xfs/030.out.linux +++ b/tests/xfs/030.out.linux @@ -227,11 +227,6 @@ Phase 1 - find and verify superblock... Phase 2 - using log - zero log... - scan filesystem freespace and inode maps... -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 -bad agbno AGBNO in agfl, agno 0 bad agbno AGBNO in agfl, agno 0 - found root inode chunk Phase 3 - for each AG... -- 2.39.5