Message ID | 20201027042652.840821-1-zlang@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | common/repair: filter unknown block state properly | expand |
On Tue, Oct 27, 2020 at 12:26:52PM +0800, Zorro Lang wrote: > xfsprogs 32e11be9 ("xfs_repair: complain about extents in unknown > state") changed the xfs_repair output format as below: > > - _("unknown block state, ag %d, block %d\n"), > - i, j); > + _("unknown block state, ag %d, blocks %u-%u\n"), > + i, j, j + blen - 1); > > It replaces "block" with "blocks". That cause xfs/030 fails. So use > proper regex to filter the 'old' and 'new' output format both. > > Signed-off-by: Zorro Lang <zlang@redhat.com> Aha, I had a patch to do exactly this sitting in my xfstests tree that I never sent out. Egad, I haven't sent much of anything since 5.6. I better get on that. In the meantime, Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> --D > --- > common/repair | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/common/repair b/common/repair > index 6668dd51..c8d16314 100644 > --- a/common/repair > +++ b/common/repair > @@ -88,7 +88,7 @@ s/(stripe unit) \(.*\) (and width) \(.*\)/\1 (SU) \2 (SW)/; > s/(superblock) (\d+)/\1 AGNO/; > s/(AG \#)(\d+)/\1AGNO/; > s/(reset bad sb for ag) (\d+)/\1 AGNO/; > -s/(unknown block state, ag )(\d+)(, block )(\d+)/\1AGNO\3AGBNO/; > +s/(unknown block state, ag )(\d+)(, blocks? )(\d+)/\1AGNO\3AGBNO/; > /^Note - quota info will be regenerated on next quota mount.$/ && next; > print;' > } > @@ -98,7 +98,7 @@ s/(unknown block state, ag )(\d+)(, block )(\d+)/\1AGNO\3AGBNO/; > # tree and fails to reconcile the metadata reverse mappings against the > # metadata). > _filter_repair_lostblocks() { > - _filter_repair | sed -e '/unknown block state, ag AGNO, block AGBNO/d' > + _filter_repair | sed -e '/unknown block state, ag AGNO, blocks* AGBNO/d' > } > > _filter_dd() > -- > 2.25.4 >
diff --git a/common/repair b/common/repair index 6668dd51..c8d16314 100644 --- a/common/repair +++ b/common/repair @@ -88,7 +88,7 @@ s/(stripe unit) \(.*\) (and width) \(.*\)/\1 (SU) \2 (SW)/; s/(superblock) (\d+)/\1 AGNO/; s/(AG \#)(\d+)/\1AGNO/; s/(reset bad sb for ag) (\d+)/\1 AGNO/; -s/(unknown block state, ag )(\d+)(, block )(\d+)/\1AGNO\3AGBNO/; +s/(unknown block state, ag )(\d+)(, blocks? )(\d+)/\1AGNO\3AGBNO/; /^Note - quota info will be regenerated on next quota mount.$/ && next; print;' } @@ -98,7 +98,7 @@ s/(unknown block state, ag )(\d+)(, block )(\d+)/\1AGNO\3AGBNO/; # tree and fails to reconcile the metadata reverse mappings against the # metadata). _filter_repair_lostblocks() { - _filter_repair | sed -e '/unknown block state, ag AGNO, block AGBNO/d' + _filter_repair | sed -e '/unknown block state, ag AGNO, blocks* AGBNO/d' } _filter_dd()
xfsprogs 32e11be9 ("xfs_repair: complain about extents in unknown state") changed the xfs_repair output format as below: - _("unknown block state, ag %d, block %d\n"), - i, j); + _("unknown block state, ag %d, blocks %u-%u\n"), + i, j, j + blen - 1); It replaces "block" with "blocks". That cause xfs/030 fails. So use proper regex to filter the 'old' and 'new' output format both. Signed-off-by: Zorro Lang <zlang@redhat.com> --- common/repair | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)