[PATCH 09/13] xfs_repair: better checking of v5 attributes

Eric Sandeen sandeen at sandeen.net
Wed Sep 9 14:34:07 CDT 2015


The commit:

0519f66 xfs_repair: better checking of v5 metadata fields

added new corruption checks to dir2.c but missed the similar
code in attr_repair.c; add that here.

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
Signed-off-by: Eric Sandeen <sandeen at sandeen.net>
---
 repair/attr_repair.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/repair/attr_repair.c b/repair/attr_repair.c
index 2aafdf6..c8ba484 100644
--- a/repair/attr_repair.c
+++ b/repair/attr_repair.c
@@ -201,6 +201,15 @@ traverse_int_dablock(xfs_mount_t	*mp,
 			goto error_out;
 		}
 
+		/* corrupt node; rebuild the dir. */
+		if (bp->b_error == -EFSBADCRC || bp->b_error == -EFSCORRUPTED) {
+			libxfs_putbuf(bp);
+			do_warn(
+_("corrupt tree block %u for directory inode %" PRIu64 "\n"),
+				bno, da_cursor->ino);
+			goto error_out;
+		}
+
 		if (nodehdr.count > geo->node_ents)  {
 			do_warn(_("bad record count in inode %" PRIu64 ", "
 				  "count = %d, max = %d\n"),
-- 
1.7.1



More information about the xfs mailing list