On Thu, Feb 27, 2020 at 08:50:49PM -0800, Eric Sandeen wrote: > A handful of minor changes went into xfs_repair output in the > last push, so add a few more filters and change the resulting > expected output. > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Rrrgh, guess who also had this patch lurking in his xfstests tree for so long that he forgot it was there... Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > > I confirmed that xfs/030, xfs/033, and xfs/178 pass on both > current for-next, as well as v5.4.0 > > diff --git a/common/repair b/common/repair > index 5a9097f4..6668dd51 100644 > --- a/common/repair > +++ b/common/repair > @@ -29,7 +29,13 @@ _filter_repair() > # for sb > /- agno = / && next; # remove each AG line (variable number) > s/(pointer to) (\d+)/\1 INO/; > -s/(sb root inode value) (\d+)( \(NULLFSINO\))?/\1 INO/; > +# Changed inode output in 5.5.0 > +s/sb root inode value /sb root inode /; > +s/realtime bitmap inode value /realtime bitmap inode /; > +s/realtime summary inode value /realtime summary inode /; > +s/ino pointer to /inode pointer to /; > +# > +s/(sb root inode) (\d+)( \(NULLFSINO\))?/\1 INO/; > s/(realtime bitmap inode) (\d+)( \(NULLFSINO\))?/\1 INO/; > s/(realtime summary inode) (\d+)( \(NULLFSINO\))?/\1 INO/; > s/(inconsistent with calculated value) (\d+)/\1 INO/; > @@ -74,6 +80,8 @@ s/(inode chunk) (\d+)\/(\d+)/AGNO\/INO/; > # sunit/swidth reset messages > s/^(Note - .*) were copied.*/\1 fields have been reset./; > s/^(Please) reset (with .*) if necessary/\1 set \2/; > +# remove new unlinked inode test > +/^bad next_unlinked/ && next; > # And make them generic so we dont depend on geometry > s/(stripe unit) \(.*\) (and width) \(.*\)/\1 (SU) \2 (SW)/; > # corrupt sb messages > diff --git a/tests/xfs/030.out b/tests/xfs/030.out > index 2b556eec..4a7c4b8b 100644 > --- a/tests/xfs/030.out > +++ b/tests/xfs/030.out > @@ -14,12 +14,12 @@ attempting to find secondary superblock... > found candidate secondary superblock... > verified secondary superblock... > writing modified primary superblock > -sb root inode value INO inconsistent with calculated value INO > +sb root inode INO inconsistent with calculated value INO > resetting superblock root inode pointer to INO > sb realtime bitmap inode INO inconsistent with calculated value INO > -resetting superblock realtime bitmap ino pointer to INO > +resetting superblock realtime bitmap inode pointer to INO > sb realtime summary inode INO inconsistent with calculated value INO > -resetting superblock realtime summary ino pointer to INO > +resetting superblock realtime summary inode pointer to INO > Phase 2 - using <TYPEOF> log > - zero log... > - scan filesystem freespace and inode maps... > @@ -131,12 +131,12 @@ attempting to find secondary superblock... > found candidate secondary superblock... > verified secondary superblock... > writing modified primary superblock > -sb root inode value INO inconsistent with calculated value INO > +sb root inode INO inconsistent with calculated value INO > resetting superblock root inode pointer to INO > sb realtime bitmap inode INO inconsistent with calculated value INO > -resetting superblock realtime bitmap ino pointer to INO > +resetting superblock realtime bitmap inode pointer to INO > sb realtime summary inode INO inconsistent with calculated value INO > -resetting superblock realtime summary ino pointer to INO > +resetting superblock realtime summary inode pointer to INO > Phase 2 - using <TYPEOF> log > - zero log... > - scan filesystem freespace and inode maps... > diff --git a/tests/xfs/178.out b/tests/xfs/178.out > index 8e0fc8e1..0bebe553 100644 > --- a/tests/xfs/178.out > +++ b/tests/xfs/178.out > @@ -12,12 +12,12 @@ attempting to find secondary superblock... > found candidate secondary superblock... > verified secondary superblock... > writing modified primary superblock > -sb root inode value INO inconsistent with calculated value INO > +sb root inode INO inconsistent with calculated value INO > resetting superblock root inode pointer to INO > sb realtime bitmap inode INO inconsistent with calculated value INO > -resetting superblock realtime bitmap ino pointer to INO > +resetting superblock realtime bitmap inode pointer to INO > sb realtime summary inode INO inconsistent with calculated value INO > -resetting superblock realtime summary ino pointer to INO > +resetting superblock realtime summary inode pointer to INO > Phase 2 - using <TYPEOF> log > - zero log... > - scan filesystem freespace and inode maps... > @@ -48,12 +48,12 @@ attempting to find secondary superblock... > found candidate secondary superblock... > verified secondary superblock... > writing modified primary superblock > -sb root inode value INO inconsistent with calculated value INO > +sb root inode INO inconsistent with calculated value INO > resetting superblock root inode pointer to INO > sb realtime bitmap inode INO inconsistent with calculated value INO > -resetting superblock realtime bitmap ino pointer to INO > +resetting superblock realtime bitmap inode pointer to INO > sb realtime summary inode INO inconsistent with calculated value INO > -resetting superblock realtime summary ino pointer to INO > +resetting superblock realtime summary inode pointer to INO > Phase 2 - using <TYPEOF> log > - zero log... > - scan filesystem freespace and inode maps... >