Index: kernel/generic/include/adt/btree.h
===================================================================
--- kernel/generic/include/adt/btree.h	(revision dc0e41c0a99302899fc0abd3fe566ef8a5a04157)
+++ kernel/generic/include/adt/btree.h	(revision c064b58528b1a0e1c74fe2790f8ddddcb03b3e84)
@@ -108,4 +108,7 @@
 
 extern void btree_print(btree_t *t);
+
+extern unsigned long btree_count(btree_t *t);
+
 #endif
 
Index: kernel/generic/src/adt/btree.c
===================================================================
--- kernel/generic/src/adt/btree.c	(revision dc0e41c0a99302899fc0abd3fe566ef8a5a04157)
+++ kernel/generic/src/adt/btree.c	(revision c064b58528b1a0e1c74fe2790f8ddddcb03b3e84)
@@ -1045,4 +1045,21 @@
 }
 
+/** Return number of B-tree elements.
+ *
+ * @param t    B-tree to count.
+ * @return Return number of B-tree elements.
+ *
+ */
+unsigned long btree_count(btree_t *t)
+{
+	unsigned long count = 0;
+
+	list_foreach(t->leaf_list, leaf_link, btree_node_t, node) {
+		count += node->keys;
+	}
+
+	return count;
+}
+
 /** @}
  */
