Index: kernel/generic/include/adt/btree.h
===================================================================
--- kernel/generic/include/adt/btree.h	(revision d4d8255695d912194c2d1bb169fb048490d6968e)
+++ kernel/generic/include/adt/btree.h	(revision c1b8ad4ada46d00160a9a334f11c6017bff4e8b9)
@@ -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 d4d8255695d912194c2d1bb169fb048490d6968e)
+++ kernel/generic/src/adt/btree.c	(revision c1b8ad4ada46d00160a9a334f11c6017bff4e8b9)
@@ -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;
+}
+
 /** @}
  */
