From cd6cd000cea7f73e86604be6fdf2ffc8795601e2 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 9 Jan 2017 14:24:51 -0800 Subject: [PATCH] Add ifdefed out quick treap printer This was pretty handy for debugging weird failure cases. Signed-off-by: Zach Brown --- kmod/src/treap.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/kmod/src/treap.c b/kmod/src/treap.c index d92511de..85e75add 100644 --- a/kmod/src/treap.c +++ b/kmod/src/treap.c @@ -142,6 +142,28 @@ struct treap_node { u8 data[0] __aligned(sizeof(long)); }; +#if 0 +static void print_treap_node(struct treap_ref *ref, u64 loc) +{ + struct treap_node *node = ref->node; + + if (!node) + return; + + printk("loc %llx node %p: off %llu gen %llu prio %016llx bytes %u\n", + loc, node, node->off, node->gen, node->prio, node->bytes); + printk(" left: off %llu gen %llu aug %u node %p\n", + node->left.off, node->left.gen, node->left.aug_bits, + node->left.node); + printk(" right: off %llu gen %llu aug %u node %p\n", + node->right.off, node->right.gen, node->right.aug_bits, + node->right.node); + + print_treap_node(&node->left, (loc << 4) | 1); + print_treap_node(&node->right, (loc << 4) | 2); +} +#endif + static struct treap_ref *parent_ref(struct scoutfs_treap *treap, struct treap_node *node) {