From: Kent Overstreet Date: Wed, 21 Apr 2021 00:21:39 +0000 (-0400) Subject: bcachefs: Fix two btree iterator leaks X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7b7278bbaf2a5d2e6955d763a8a30a3ba190dc10;p=linux.git bcachefs: Fix two btree iterator leaks Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index 370f9e6916f3b..7d681a7254c4c 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -1621,6 +1621,7 @@ int bch2_stripes_write(struct bch_fs *c, unsigned flags) if (ret) break; } + bch2_trans_iter_put(&trans, iter); bch2_trans_exit(&trans); diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c index 1c4ead7bd0bfc..bce10eb4eb4c6 100644 --- a/fs/bcachefs/move.c +++ b/fs/bcachefs/move.c @@ -761,7 +761,7 @@ static int bch2_move_btree(struct bch_fs *c, id == start_btree_id ? start_pos : POS_MIN, BTREE_ITER_PREFETCH, b) { if (kthread && kthread_should_stop()) - goto out; + break; if ((cmp_int(id, end_btree_id) ?: bkey_cmp(b->key.k.p, end_pos)) > 0) @@ -788,8 +788,10 @@ next: } ret = bch2_trans_iter_free(&trans, iter) ?: ret; + if (kthread && kthread_should_stop()) + break; } -out: + bch2_trans_exit(&trans); if (ret)