RH QE reported that if we create a 1G filesystem with default options, mount it, and create inodes until full, then run repair, repair reports corruption in verify_dir2_path() with: > bad back pointer in block 8390324 for directory inode 131 The commit 88b32f0 xfs: add CRCs to dir2/da node blocks had a small error which regressed this; although we switch to the "newnode," to check sibling pointers, we re-populate the node hdr with the old "node" data. This causes the backpointer test to be testing the wrong node's values. Fixing this bug fixes the testcase. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> --- diff --git a/repair/dir2.c b/repair/dir2.c index 3aabcaa..06dc000 100644 --- a/repair/dir2.c +++ b/repair/dir2.c @@ -552,7 +552,7 @@ _("can't read block %u for directory inode %" PRIu64 "\n"), newnode = bp->b_addr; btree = xfs_da3_node_tree_p(newnode); - xfs_da3_node_hdr_from_disk(&nodehdr, node); + xfs_da3_node_hdr_from_disk(&nodehdr, newnode); /* * verify magic number and back pointer, sanity-check * entry count, verify level _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs