aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/bcachefs/alloc_foreground.c6
-rw-r--r--fs/bcachefs/alloc_types.h1
-rw-r--r--fs/bcachefs/buckets.h1
3 files changed, 6 insertions, 2 deletions
diff --git a/fs/bcachefs/alloc_foreground.c b/fs/bcachefs/alloc_foreground.c
index c7db89b92dbf..0cc5e9f8d461 100644
--- a/fs/bcachefs/alloc_foreground.c
+++ b/fs/bcachefs/alloc_foreground.c
@@ -191,11 +191,13 @@ long bch2_bucket_alloc_new_fs(struct bch_dev *ca)
static inline unsigned open_buckets_reserved(enum bch_watermark watermark)
{
switch (watermark) {
+ case BCH_WATERMARK_reclaim:
+ return 0;
case BCH_WATERMARK_btree:
case BCH_WATERMARK_btree_copygc:
- return 0;
- case BCH_WATERMARK_copygc:
return OPEN_BUCKETS_COUNT / 4;
+ case BCH_WATERMARK_copygc:
+ return OPEN_BUCKETS_COUNT / 3;
default:
return OPEN_BUCKETS_COUNT / 2;
}
diff --git a/fs/bcachefs/alloc_types.h b/fs/bcachefs/alloc_types.h
index a01fddfba004..ddcaf0631a8b 100644
--- a/fs/bcachefs/alloc_types.h
+++ b/fs/bcachefs/alloc_types.h
@@ -17,6 +17,7 @@ struct bucket_alloc_state {
};
#define BCH_WATERMARKS() \
+ x(reclaim) \
x(btree_copygc) \
x(btree) \
x(copygc) \
diff --git a/fs/bcachefs/buckets.h b/fs/bcachefs/buckets.h
index 803780d9b8b7..f9d7dda07ea6 100644
--- a/fs/bcachefs/buckets.h
+++ b/fs/bcachefs/buckets.h
@@ -170,6 +170,7 @@ static inline u64 bch2_dev_buckets_reserved(struct bch_dev *ca, enum bch_waterma
reserved += ca->nr_btree_reserve;
fallthrough;
case BCH_WATERMARK_btree_copygc:
+ case BCH_WATERMARK_reclaim:
break;
}