On Sun, Jun 15, 2025 at 9:35 PM Kent Overstreet <[email protected]> wrote: > But then you're calling __bch2_topology_error()? When we're in > scan_for_btree_nodes we're just checking if the node is readable, we > shouldn't be doing anything that flags errors/recovery passes elsewhere.
Right, that makes sense. I originally put that in because the old codepath would unset silent (which was set when in scan_for_btree_nodes) only if __bch2_topology_error returned nonzero in the case of bad_node. > I think the correct fix would be more like > > if (scan_for_btree_nodes) > return ret == -BCH_ERR_btree_node_read_err_fixable > ? bch_err_throw(c, fsck_fix) > : ret; /* or -BCH_ERR_btree_node_read_err_bad_node? */ > Got it. I'll send the PATCH v2 then, thanks for the guidance!
