mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-29 12:25:04 -04:00
bcachefs: Fix unhandled transaction restart in bch2_gc_btree_gens()
This fixes https://github.com/koverstreet/bcachefs/issues/305 Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
This commit is contained in:
committed by
Kent Overstreet
parent
8dd6ed9451
commit
f4ccfe07e2
@@ -1736,8 +1736,14 @@ static int bch2_gc_btree_gens(struct bch_fs *c, enum btree_id btree_id)
|
||||
BTREE_ITER_ALL_SNAPSHOTS);
|
||||
|
||||
while ((bch2_trans_begin(&trans),
|
||||
k = bch2_btree_iter_peek(iter)).k &&
|
||||
!(ret = bkey_err(k))) {
|
||||
k = bch2_btree_iter_peek(iter)).k) {
|
||||
ret = bkey_err(k);
|
||||
|
||||
if (ret == -EINTR)
|
||||
continue;
|
||||
if (ret)
|
||||
break;
|
||||
|
||||
c->gc_gens_pos = iter->pos;
|
||||
|
||||
if (gc_btree_gens_key(c, k) && !commit_err) {
|
||||
|
||||
Reference in New Issue
Block a user