diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-04-20 20:21:39 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:01 -0400 |
commit | 7b7278bbaf2a5d2e6955d763a8a30a3ba190dc10 (patch) | |
tree | 8176ce5d2529dda9a923a9641b78f6a7e616fc01 /fs/bcachefs/move.c | |
parent | 51c804ed2a60d995c1a358018491471e34bb76b6 (diff) |
bcachefs: Fix two btree iterator leaks
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/move.c')
-rw-r--r-- | fs/bcachefs/move.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/bcachefs/move.c b/fs/bcachefs/move.c index 1c4ead7bd0bf..bce10eb4eb4c 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) |