diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-07-12 14:38:07 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-07-12 14:42:54 -0400 |
commit | a1764e00cde2c0de798588782f2cc5a2bb307045 (patch) | |
tree | 853d825c8b10f560ab55d72f1930c5db27f4d3d0 /libbcachefs/btree_gc.c | |
parent | 4be409afea5fb4325eecf78d29dc463fcd9c3e31 (diff) |
Update bcachefs sources to 47d1e7a86242 bcachefs: drop packed, aligned from bkey_inode_bufv1.9.3
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/btree_gc.c')
-rw-r--r-- | libbcachefs/btree_gc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libbcachefs/btree_gc.c b/libbcachefs/btree_gc.c index 1e4c3e30..6cbf2aa6 100644 --- a/libbcachefs/btree_gc.c +++ b/libbcachefs/btree_gc.c @@ -676,6 +676,9 @@ static int bch2_gc_btree(struct btree_trans *trans, enum btree_id btree, bool in /* root */ do { +retry_root: + bch2_trans_begin(trans); + struct btree_iter iter; bch2_trans_node_iter_init(trans, &iter, btree, POS_MIN, 0, bch2_btree_id_root(c, btree)->b->c.level, 0); @@ -686,7 +689,7 @@ static int bch2_gc_btree(struct btree_trans *trans, enum btree_id btree, bool in if (b != btree_node_root(c, b)) { bch2_trans_iter_exit(trans, &iter); - continue; + goto retry_root; } gc_pos_set(c, gc_pos_btree(btree, b->c.level + 1, SPOS_MAX)); |