diff options
author | Daniel Hill <daniel@gluo.nz> | 2022-06-23 10:28:30 +1200 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-01-06 00:05:49 -0500 |
commit | 61e76bded6b08087dc773fca9f8addaa89e37aa3 (patch) | |
tree | 3fb2bf0a388dc5038ea82406a2c6ed13d1b56115 | |
parent | 6ea2fdfeed67db254768e20b793a4af7da8b8ebc (diff) |
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 <daniel@gluo.nz>
-rw-r--r-- | fs/bcachefs/buckets.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/bcachefs/buckets.h b/fs/bcachefs/buckets.h index dc2d72b9495d..0d0894b5ee7c 100644 --- a/fs/bcachefs/buckets.h +++ b/fs/bcachefs/buckets.h @@ -178,12 +178,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, |