]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bcachefs: Fix assertion pop in topology repair
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 11 Nov 2024 03:01:04 +0000 (22:01 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Mon, 11 Nov 2024 05:37:18 +0000 (00:37 -0500)
Fixes: baefd3f849ed ("bcachefs: btree_cache.freeable list fixes")
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_gc.c
fs/bcachefs/btree_update_interior.c

index 0ca3feeb42c808e689fb5ad46b3f9e34da01bfac..81dcf9e512c0e1d3cbe6a39430be71c901e5e6ae 100644 (file)
@@ -182,7 +182,7 @@ static int set_node_max(struct bch_fs *c, struct btree *b, struct bpos new_max)
        bch2_btree_node_drop_keys_outside_node(b);
 
        mutex_lock(&c->btree_cache.lock);
-       bch2_btree_node_hash_remove(&c->btree_cache, b);
+       __bch2_btree_node_hash_remove(&c->btree_cache, b);
 
        bkey_copy(&b->key, &new->k_i);
        ret = __bch2_btree_node_hash_insert(&c->btree_cache, b);
index 22740b605f0af7f4aed4eafa52bf33d406f059c9..d596ef93239f8e7692936afeb5827d7e066b934b 100644 (file)
@@ -2398,7 +2398,8 @@ static int __bch2_btree_node_update_key(struct btree_trans *trans,
        if (new_hash) {
                mutex_lock(&c->btree_cache.lock);
                bch2_btree_node_hash_remove(&c->btree_cache, new_hash);
-               bch2_btree_node_hash_remove(&c->btree_cache, b);
+
+               __bch2_btree_node_hash_remove(&c->btree_cache, b);
 
                bkey_copy(&b->key, new_key);
                ret = __bch2_btree_node_hash_insert(&c->btree_cache, b);