This is a hodgepodge of unrelated but not-completely-trivial chagnes to both the dir2 and attr code to make their common code more similar. * It removes the whichfork checking in attr_repair, because we only get there with XFS_ATTR_FORK. * It changes the magic-checking logic slightly to match. * It swaps some (bp == NULL) tests for (!bp) These should be purely cosmetic changes. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx> --- repair/attr_repair.c | 20 +++++--------------- repair/dir2.c | 14 ++++++++------ 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/repair/attr_repair.c b/repair/attr_repair.c index c8ba484..26a0e71 100644 --- a/repair/attr_repair.c +++ b/repair/attr_repair.c @@ -177,19 +177,13 @@ traverse_int_dablock(xfs_mount_t *mp, free(bmp); if (!bp) { - if (whichfork == XFS_DATA_FORK) - do_warn( - _("can't read block %u (fsbno %" PRIu64 ") for directory inode %" PRIu64 "\n"), - bno, fsbno, da_cursor->ino); - else - do_warn( + do_warn( _("can't read block %u (fsbno %" PRIu64 ") for attrbute fork of inode %" PRIu64 "\n"), bno, fsbno, da_cursor->ino); goto error_out; } node = bp->b_addr; - btree = M_DIROPS(mp)->node_tree_p(node); M_DIROPS(mp)->node_hdr_from_disk(&nodehdr, node); if (nodehdr.magic != XFS_DA_NODE_MAGIC && @@ -210,6 +204,7 @@ _("corrupt tree block %u for directory inode %" PRIu64 "\n"), goto error_out; } + btree = M_DIROPS(mp)->node_tree_p(node); if (nodehdr.count > geo->node_ents) { do_warn(_("bad record count in inode %" PRIu64 ", " "count = %d, max = %d\n"), @@ -235,14 +230,9 @@ _("bad header depth for directory inode %" PRIu64 "\n"), if (nodehdr.level == i - 1) { i--; } else { - if (whichfork == XFS_DATA_FORK) - do_warn(_("bad directory btree for " - "directory inode %" PRIu64 "\n"), - da_cursor->ino); - else - do_warn(_("bad attribute fork btree " - "for inode %" PRIu64 "\n"), - da_cursor->ino); + do_warn(_("bad attribute fork btree " + "for inode %" PRIu64 "\n"), + da_cursor->ino); libxfs_putbuf(bp); goto error_out; } diff --git a/repair/dir2.c b/repair/dir2.c index 9398df5..8cf981f 100644 --- a/repair/dir2.c +++ b/repair/dir2.c @@ -172,7 +172,7 @@ traverse_int_dir2block(xfs_mount_t *mp, bp = da_read_buf(mp, nex, bmp, &xfs_da3_node_buf_ops); if (bmp != &lbmp) free(bmp); - if (bp == NULL) { + if (!bp) { do_warn( _("can't read block %u for directory inode %" PRIu64 "\n"), bno, da_cursor->ino); @@ -192,8 +192,10 @@ _("found non-root LEAFN node in inode %" PRIu64 " bno = %u\n"), *rbno = 0; libxfs_putbuf(bp); return(1); - } else if (!(nodehdr.magic == XFS_DA_NODE_MAGIC || - nodehdr.magic == XFS_DA3_NODE_MAGIC)) { + } + + if (nodehdr.magic != XFS_DA_NODE_MAGIC && + nodehdr.magic != XFS_DA3_NODE_MAGIC) { libxfs_putbuf(bp); do_warn( _("bad dir magic number 0x%x in inode %" PRIu64 " bno = %u\n"), @@ -574,7 +576,7 @@ _("can't get map info for block %u of directory inode %" PRIu64 "\n"), if (bmp != &lbmp) free(bmp); - if (bp == NULL) { + if (!bp) { do_warn( _("can't read block %u for directory inode %" PRIu64 "\n"), dabno, cursor->ino); @@ -589,8 +591,8 @@ _("can't read block %u for directory inode %" PRIu64 "\n"), * entry count, verify level */ bad = 0; - if (!(nodehdr.magic == XFS_DA_NODE_MAGIC || - nodehdr.magic == XFS_DA3_NODE_MAGIC)) { + if (nodehdr.magic != XFS_DA_NODE_MAGIC && + nodehdr.magic != XFS_DA3_NODE_MAGIC) { do_warn( _("bad magic number %x in block %u for directory inode %" PRIu64 "\n"), nodehdr.magic, -- 1.7.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs