summaryrefslogtreecommitdiff
path: root/libbcachefs/bset.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-03-29 22:09:24 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-03-30 22:05:40 -0400
commit8e02744a90673d9e4ea06cfa0ff123e7bada962f (patch)
treecebbceedbc59465e73783e0cea126432d2532a9f /libbcachefs/bset.c
parent89b322abb3450bd689ed50d7f55178887941ddfe (diff)
Update bcachefs sources to 794723fc10c4 bcachefs: Topology repair now uses nodes found by scanning to fill holes
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/bset.c')
-rw-r--r--libbcachefs/bset.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/libbcachefs/bset.c b/libbcachefs/bset.c
index 3fd1085b..3bb47784 100644
--- a/libbcachefs/bset.c
+++ b/libbcachefs/bset.c
@@ -134,18 +134,24 @@ void bch2_dump_btree_node_iter(struct btree *b,
printbuf_exit(&buf);
}
-#ifdef CONFIG_BCACHEFS_DEBUG
-
-void __bch2_verify_btree_nr_keys(struct btree *b)
+struct btree_nr_keys bch2_btree_node_count_keys(struct btree *b)
{
struct bset_tree *t;
struct bkey_packed *k;
- struct btree_nr_keys nr = { 0 };
+ struct btree_nr_keys nr = {};
for_each_bset(b, t)
bset_tree_for_each_key(b, t, k)
if (!bkey_deleted(k))
btree_keys_account_key_add(&nr, t - b->set, k);
+ return nr;
+}
+
+#ifdef CONFIG_BCACHEFS_DEBUG
+
+void __bch2_verify_btree_nr_keys(struct btree *b)
+{
+ struct btree_nr_keys nr = bch2_btree_node_count_keys(b);
BUG_ON(memcmp(&nr, &b->nr, sizeof(nr)));
}