[PATCH] common/repair: filter unknown block state properly

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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@xxxxxxxxxx>
---
 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




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux