From 58aaa0836be3be279f17db9ba07f3a58da033a9f Mon Sep 17 00:00:00 2001 From: Daniel Hill Date: Thu, 23 Jun 2022 10:28:30 +1200 Subject: [PATCH] bcachefs: fix __dev_available(). __dev_available() now calculates available buckets correctly. Previously it would almost always return 0 when we have cached data. Signed-off-by: Daniel Hill Signed-off-by: Kent Overstreet --- fs/bcachefs/buckets.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/bcachefs/buckets.h b/fs/bcachefs/buckets.h index 080bcb20a5b02..b4cf10a47c52e 100644 --- a/fs/bcachefs/buckets.h +++ b/fs/bcachefs/buckets.h @@ -159,12 +159,12 @@ static inline u64 __dev_buckets_available(struct bch_dev *ca, enum alloc_reserve reserve) { return max_t(s64, 0, - usage.d[BCH_DATA_free].buckets - - usage.d[BCH_DATA_cached].buckets - - usage.d[BCH_DATA_need_gc_gens].buckets - - usage.d[BCH_DATA_need_discard].buckets - - ca->nr_open_buckets - - bch2_dev_buckets_reserved(ca, reserve)); + usage.d[BCH_DATA_free].buckets + + usage.d[BCH_DATA_cached].buckets + + usage.d[BCH_DATA_need_gc_gens].buckets + + usage.d[BCH_DATA_need_discard].buckets + - ca->nr_open_buckets + - bch2_dev_buckets_reserved(ca, reserve)); } static inline u64 dev_buckets_available(struct bch_dev *ca, -- 2.39.5