Magic number is wrong only when != XFS_DA_NODE_MAGIC and != XFS_DA3_NODE_MAGIC. This is triggered by shared/002 when testing 512 block size XFS. Phase 1 - find and verify superblock... Phase 2 - using internal log - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 bad magic number febe in block 64 (108) for directory inode 35 ...... Fix it by changing "||" to "&&". Signed-off-by: Eryu Guan <eguan@xxxxxxxxxx> --- repair/attr_repair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repair/attr_repair.c b/repair/attr_repair.c index 62f80e7..83a07a8 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -570,7 +570,7 @@ verify_da_path(xfs_mount_t *mp, * entry count, verify level */ bad = 0; - if (nodehdr.magic != XFS_DA_NODE_MAGIC || + if (nodehdr.magic != XFS_DA_NODE_MAGIC && nodehdr.magic != XFS_DA3_NODE_MAGIC) { do_warn( _("bad magic number %x in block %u (%" PRIu64 ") for directory inode %" PRIu64 "\n"), -- 2.4.3 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs