From: Kent Overstreet Date: Thu, 23 Jun 2022 02:53:43 +0000 (-0400) Subject: bcachefs: Always descend to leaf nodes it btree_gc X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7a47d0993be95bf68e2e04653f40d311e3c25bed;p=linux.git bcachefs: Always descend to leaf nodes it btree_gc If a btree node is unreadable, it's the topology repair that fixes that and it's kicked off by btree_gc, so btree_gc needs to touch every node and very that they can be read. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_gc.c b/fs/bcachefs/btree_gc.c index 2de5d97a9d2c6..0447f5a51b5ed 100644 --- a/fs/bcachefs/btree_gc.c +++ b/fs/bcachefs/btree_gc.c @@ -851,10 +851,7 @@ static int bch2_gc_btree(struct btree_trans *trans, enum btree_id btree_id, struct bch_fs *c = trans->c; struct btree_iter iter; struct btree *b; - unsigned depth = metadata_only ? 1 - : bch2_expensive_debug_checks ? 0 - : !btree_node_type_needs_gc(btree_id) ? 1 - : 0; + unsigned depth = metadata_only ? 1 : 0; int ret = 0; gc_pos_set(c, gc_pos_btree(btree_id, POS_MIN, 0)); @@ -997,10 +994,7 @@ static int bch2_gc_btree_init(struct btree_trans *trans, { struct bch_fs *c = trans->c; struct btree *b; - unsigned target_depth = metadata_only ? 1 - : bch2_expensive_debug_checks ? 0 - : !btree_node_type_needs_gc(btree_id) ? 1 - : 0; + unsigned target_depth = metadata_only ? 1 : 0; struct printbuf buf = PRINTBUF; int ret = 0;