Re: [PATCH 1/3] xfs_repair: complain about ag header crc errors

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

 





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 */




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux