]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/btree_iter.c
Update bcachefs sources to 04036b4910 bcachefs: Fix a memory leak
[bcachefs-tools-debian] / libbcachefs / btree_iter.c
index 8ff6a8d03dc444fb117342ce3e0e34bb2305caf5..c0357ee9cfb78a102ce1a50848b58e818b66f5a9 100644 (file)
@@ -558,7 +558,12 @@ void bch2_trans_unlock(struct btree_trans *trans)
        trans_for_each_path(trans, path)
                __bch2_btree_path_unlock(path);
 
-       BUG_ON(lock_class_is_held(&bch2_btree_node_lock_key));
+       /*
+        * bch2_gc_btree_init_recurse() doesn't use btree iterators for walking
+        * btree nodes, it implements its own walking:
+        */
+       BUG_ON(!trans->is_initial_gc &&
+              lock_class_is_held(&bch2_btree_node_lock_key));
 }
 
 /* Btree iterator: */