bcachefs: Fix leak in backpointers fsck
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 27 Jun 2023 20:20:05 +0000 (16:20 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:05 +0000 (17:10 -0400)
We were forgetting to exit a printbuf - whoops.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/backpointers.c

index 2641ebef6ae4023e6417fa9ee719007598f9fdb6..a270ff96e9b4bd7b5ec9171660a05d83d75d0252 100644 (file)
@@ -811,8 +811,10 @@ static int check_one_backpointer(struct btree_trans *trans,
 
        if (fsck_err_on(!k.k, c,
                        "backpointer for missing extent\n  %s",
-                       (bch2_bkey_val_to_text(&buf, c, bp.s_c), buf.buf)))
-               return bch2_btree_delete_at_buffered(trans, BTREE_ID_backpointers, bp.k->p);
+                       (bch2_bkey_val_to_text(&buf, c, bp.s_c), buf.buf))) {
+               ret = bch2_btree_delete_at_buffered(trans, BTREE_ID_backpointers, bp.k->p);
+               goto out;
+       }
 out:
 fsck_err:
        bch2_trans_iter_exit(trans, &iter);