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!

Reply via email to