summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/alloc_foreground.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-11-28 19:30:23 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-12-21 01:36:21 -0500
commit2cd85fea49d850629404d4668e104466114598e3 (patch)
tree21f97c57083708c4af7ea6b3a44dcff0d364d373 /fs/bcachefs/alloc_foreground.c
parentbcachefs: Check for extent crc uncompressed/compressed size mismatch (diff)
downloadlinux-2cd85fea49d850629404d4668e104466114598e3.tar.gz
linux-2cd85fea49d850629404d4668e104466114598e3.zip
bcachefs: Don't recurse in check_discard_freespace_key
When calling check_discard_freeespace_key from the allocator, we can't repair without recursing - run it asynchronously instead. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/alloc_foreground.c')
-rw-r--r--fs/bcachefs/alloc_foreground.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/alloc_foreground.c b/fs/bcachefs/alloc_foreground.c
index 4d1ff7f1f302..c40a76df76b8 100644
--- a/fs/bcachefs/alloc_foreground.c
+++ b/fs/bcachefs/alloc_foreground.c
@@ -281,7 +281,7 @@ static struct open_bucket *try_alloc_bucket(struct btree_trans *trans, struct bc
u64 b = freespace_iter->pos.offset & ~(~0ULL << 56);
u8 gen;
- int ret = bch2_check_discard_freespace_key(trans, freespace_iter, &gen);
+ int ret = bch2_check_discard_freespace_key(trans, freespace_iter, &gen, true);
if (ret < 0)
return ERR_PTR(ret);
if (ret)