X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Fbuckets.h;h=bdf4fff9cb8a8a69e372a03daf9051231ae352bd;hb=1f78fed4693a5361f56508daac59bebd5b556379;hp=d677b0225c52bf1d9388790e8680805a124f572e;hpb=b8b8dcfaed641eabeec8ba070e1e23665bc4ceb2;p=bcachefs-tools-debian diff --git a/libbcachefs/buckets.h b/libbcachefs/buckets.h index d677b02..bdf4fff 100644 --- a/libbcachefs/buckets.h +++ b/libbcachefs/buckets.h @@ -207,10 +207,24 @@ static inline u64 dev_buckets_available(struct bch_dev *ca, /* Filesystem usage: */ +static inline unsigned __fs_usage_u64s(unsigned nr_replicas) +{ + return sizeof(struct bch_fs_usage) / sizeof(u64) + nr_replicas; +} + static inline unsigned fs_usage_u64s(struct bch_fs *c) { - return sizeof(struct bch_fs_usage) / sizeof(u64) + - READ_ONCE(c->replicas.nr); + return __fs_usage_u64s(READ_ONCE(c->replicas.nr)); +} + +static inline unsigned __fs_usage_online_u64s(unsigned nr_replicas) +{ + return sizeof(struct bch_fs_usage_online) / sizeof(u64) + nr_replicas; +} + +static inline unsigned fs_usage_online_u64s(struct bch_fs *c) +{ + return __fs_usage_online_u64s(READ_ONCE(c->replicas.nr)); } static inline unsigned dev_usage_u64s(void)