diff mbox series

fstests: fix up filters & expected output for latest xfs_repair

Message ID ea796af5-4f7e-e882-c918-b6ff9f10f91f@redhat.com (mailing list archive)
State Accepted
Headers show
Series fstests: fix up filters & expected output for latest xfs_repair | expand

Commit Message

Eric Sandeen Feb. 28, 2020, 4:50 a.m. UTC
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@redhat.com>
---

I confirmed that xfs/030, xfs/033, and xfs/178 pass on both
current for-next, as well as v5.4.0

Comments

Zorro Lang Feb. 28, 2020, 11:57 a.m. UTC | #1
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@redhat.com>
> ---

This change makes sense, and I've tested it on rhel7, rhel8 and latest upstream
kernel with xfsprogs(for-next), this patch doesn't brings more failures. So it
looks good to me.

Reviewed-by Zorro Lang <zlang@redhat.com>

> 
> 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...
>
Darrick J. Wong Feb. 28, 2020, 3:17 p.m. UTC | #2
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@redhat.com>

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@oracle.com>

--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...
>
diff mbox series

Patch

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...