bcachefs: Fix btree iterator leak
authorKent Overstreet <kent.overstreet@gmail.com>
Sat, 7 Nov 2020 21:55:57 +0000 (16:55 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:46 +0000 (17:08 -0400)
this fixes an occasonial btree transaction iterators overflow.

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

index c64197d8fc84daea9e21bb71aefacba809dfe284..8e52d475b397eaa39a35e80fa848fd694b1086ac 100644 (file)
@@ -537,7 +537,9 @@ found_slot:
        inode_u->bi_inum        = k.k->p.offset;
        inode_u->bi_generation  = bkey_generation(k);
 
-       return bch2_inode_write(trans, iter, inode_u);
+       ret = bch2_inode_write(trans, iter, inode_u);
+       bch2_trans_iter_put(trans, iter);
+       return ret;
 }
 
 int bch2_inode_rm(struct bch_fs *c, u64 inode_nr)