bcachefs: fsck: fix unhandled restart in topology repair
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 17 Jun 2025 20:41:43 +0000 (16:41 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 18 Jun 2025 00:45:26 +0000 (20:45 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_gc.c

index e92cf3928c634bfccfc14366eef8953dc9f1411a..697c6ecc3a6555916e380d033a0201df6e4b3b83 100644 (file)
@@ -503,8 +503,14 @@ again:
        prt_newline(&buf);
        bch2_bkey_val_to_text(&buf, c, bkey_i_to_s_c(&b->key));
 
+       /*
+        * XXX: we're not passing the trans object here because we're not set up
+        * to handle a transaction restart - this code needs to be rewritten
+        * when we start doing online topology repair
+        */
+       bch2_trans_unlock_long(trans);
        if (mustfix_fsck_err_on(!have_child,
-                       trans, btree_node_topology_interior_node_empty,
+                       c, btree_node_topology_interior_node_empty,
                        "empty interior btree node at %s", buf.buf))
                ret = DROP_THIS_NODE;
 err: