57 lines
1.7 KiB
Diff
57 lines
1.7 KiB
Diff
From 59fad23c7abcecc8d4022e76050295c2f37c1bfb Mon Sep 17 00:00:00 2001
|
|
From: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Date: Thu, 14 Nov 2024 21:28:40 -0500
|
|
Subject: [PATCH 091/233] bcachefs: Delete backpointers check in
|
|
try_alloc_bucket()
|
|
Content-Type: text/plain; charset="utf-8"
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
try_alloc_bucket() has a "safety" check, which avoids allocating a
|
|
bucket if there's any backpointers present.
|
|
|
|
But backpointers are not the source of truth for live data in a bucket,
|
|
the bucket sector counts are; this check was fairly useless, and we're
|
|
also deferring backpointers checks from fsck to runtime in the near
|
|
future.
|
|
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
|
Signed-off-by: Alexander Miroshnichenko <alex@millerson.name>
|
|
---
|
|
fs/bcachefs/alloc_foreground.c | 20 --------------------
|
|
1 file changed, 20 deletions(-)
|
|
|
|
diff --git a/fs/bcachefs/alloc_foreground.c b/fs/bcachefs/alloc_foreground.c
|
|
index 955ea6ae868f..6d665b720f72 100644
|
|
--- a/fs/bcachefs/alloc_foreground.c
|
|
+++ b/fs/bcachefs/alloc_foreground.c
|
|
@@ -290,26 +290,6 @@ static struct open_bucket *try_alloc_bucket(struct btree_trans *trans, struct bc
|
|
if (ret)
|
|
return NULL;
|
|
|
|
- if (unlikely(c->curr_recovery_pass <= BCH_RECOVERY_PASS_check_extents_to_backpointers)) {
|
|
- struct bch_backpointer bp;
|
|
- struct bpos bp_pos = POS_MIN;
|
|
-
|
|
- ret = bch2_get_next_backpointer(trans, ca, POS(ca->dev_idx, b), -1,
|
|
- &bp_pos, &bp,
|
|
- BTREE_ITER_nopreserve);
|
|
- if (ret)
|
|
- return ERR_PTR(ret);
|
|
-
|
|
- if (!bkey_eq(bp_pos, POS_MAX)) {
|
|
- /*
|
|
- * Bucket may have data in it - we don't call
|
|
- * bch2_trans_inconsistent() because fsck hasn't
|
|
- * finished yet
|
|
- */
|
|
- return NULL;
|
|
- }
|
|
- }
|
|
-
|
|
return __try_alloc_bucket(c, ca, b, gen, watermark, s, cl);
|
|
}
|
|
|
|
--
|
|
2.45.2
|
|
|