mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 03:10:30 -04:00
bcachefs: Fix a btree transaction iter overflow
extent_replay_key dates from before putting iterators was required - fixed. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
committed by
Kent Overstreet
parent
101d471367
commit
6d758368f1
@@ -456,6 +456,7 @@ static int bch2_extent_replay_key(struct bch_fs *c, enum btree_id btree_id,
|
||||
__bch2_btree_iter_set_pos(split_iter, split->k.p, false);
|
||||
bch2_trans_update(&trans, split_iter, split,
|
||||
BTREE_TRIGGER_NORUN);
|
||||
bch2_trans_iter_put(&trans, split_iter);
|
||||
|
||||
bch2_btree_iter_set_pos(iter, split->k.p);
|
||||
|
||||
@@ -481,6 +482,8 @@ static int bch2_extent_replay_key(struct bch_fs *c, enum btree_id btree_id,
|
||||
BTREE_INSERT_LAZY_RW|
|
||||
BTREE_INSERT_JOURNAL_REPLAY);
|
||||
err:
|
||||
bch2_trans_iter_put(&trans, iter);
|
||||
|
||||
if (ret == -EINTR)
|
||||
goto retry;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user