From: Daniel Hill Date: Wed, 22 Jun 2022 22:28:30 +0000 (+1200) Subject: bcachefs: fix __dev_available(). X-Git-Tag: v6.7-rc1~201^2~917 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=58aaa0836be3be279f17db9ba07f3a58da033a9f;p=thirdparty%2Fkernel%2Flinux.git 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 --- 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,