bcachefs: don't queue btree nodes for rewrites during scan
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 12 Apr 2024 04:09:08 +0000 (00:09 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 14 Apr 2024 02:48:17 +0000 (22:48 -0400)
many nodes found during scan will be old nodes, overwritten by newer
nodes

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_io.c

index b1aaf0550644a27a49280b46eac46bdee4a2ad70..9678b2375bedde868e7a168435c9a17fc74eb26a 100644 (file)
@@ -1340,7 +1340,9 @@ start:
                               rb->start_time);
        bio_put(&rb->bio);
 
-       if (saw_error && !btree_node_read_error(b)) {
+       if (saw_error &&
+           !btree_node_read_error(b) &&
+           c->curr_recovery_pass != BCH_RECOVERY_PASS_scan_for_btree_nodes) {
                printbuf_reset(&buf);
                bch2_bpos_to_text(&buf, b->key.k.p);
                bch_err_ratelimited(c, "%s: rewriting btree node at btree=%s level=%u %s due to error",