On 7/2/20 8:26 AM, Darrick J. Wong wrote:
From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Repair doesn't complain about crc errors in the AG headers, and it
should. Otherwise, this gives the admin the wrong impression about the
state of the filesystem after a nomodify check.
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
Looks fine
Reviewed-by: Allison Collins <allison.henderson@xxxxxxxxxx>
---
repair/scan.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/repair/scan.c b/repair/scan.c
index 505cfc53..42b299f7 100644
--- a/repair/scan.c
+++ b/repair/scan.c
@@ -2441,6 +2441,8 @@ scan_ag(
objname = _("root superblock");
goto out_free_sb;
}
+ if (sbbuf->b_error == -EFSBADCRC)
+ do_warn(_("superblock has bad CRC for ag %d\n"), agno);
libxfs_sb_from_disk(sb, sbbuf->b_addr);
error = salvage_buffer(mp->m_dev,
@@ -2450,6 +2452,8 @@ scan_ag(
objname = _("agf block");
goto out_free_sbbuf;
}
+ if (agfbuf->b_error == -EFSBADCRC)
+ do_warn(_("agf has bad CRC for ag %d\n"), agno);
agf = agfbuf->b_addr;
error = salvage_buffer(mp->m_dev,
@@ -2459,6 +2463,8 @@ scan_ag(
objname = _("agi block");
goto out_free_agfbuf;
}
+ if (agibuf->b_error == -EFSBADCRC)
+ do_warn(_("agi has bad CRC for ag %d\n"), agno);
agi = agibuf->b_addr;
/* fix up bad ag headers */