From 1235f04c4a4daec6f4456b3ad267f7567227c2a4 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 14 Apr 2016 12:59:37 -0700 Subject: [PATCH] Print parent block ref item values Signed-off-by: Zach Brown --- utils/src/print.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/utils/src/print.c b/utils/src/print.c index ca0275a3..3aa6277d 100644 --- a/utils/src/print.c +++ b/utils/src/print.c @@ -91,7 +91,14 @@ static void print_dirent(struct scoutfs_dirent *dent, unsigned int val_len) le64_to_cpu(dent->ino), dent->type, i, name); } -static void print_btree_item(unsigned int off, struct scoutfs_btree_item *item) +static void print_block_ref(struct scoutfs_block_ref *ref) +{ + printf(" ref: blkno %llu seq %llu\n", + le64_to_cpu(ref->blkno), le64_to_cpu(ref->seq)); +} + +static void print_btree_item(unsigned int off, struct scoutfs_btree_item *item, + u8 level) { printf(" item: key "SKF" val_len %u off %u tnode: parent %u left %u right %u " "prio %x\n", @@ -101,6 +108,11 @@ static void print_btree_item(unsigned int off, struct scoutfs_btree_item *item) le16_to_cpu(item->tnode.right), le32_to_cpu(item->tnode.prio)); + if (level) { + print_block_ref((void *)item->val); + return; + } + switch(item->key.type) { case SCOUTFS_INODE_KEY: print_inode((void *)item->val); @@ -140,7 +152,7 @@ static int print_btree_block(int fd, __le64 blkno, u8 level) i--; } else { off = (char *)&item->tnode - (char *)&bt->treap; - print_btree_item(off, item); + print_btree_item(off, item, level); } item = (void *)&item->val[le16_to_cpu(item->val_len)];