summaryrefslogtreecommitdiff
path: root/libbcachefs/buckets.h
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/buckets.h')
-rw-r--r--libbcachefs/buckets.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/libbcachefs/buckets.h b/libbcachefs/buckets.h
index 84059111..ebd39e85 100644
--- a/libbcachefs/buckets.h
+++ b/libbcachefs/buckets.h
@@ -179,7 +179,6 @@ static inline bool bucket_needs_journal_commit(struct bucket_mark m,
/* Device usage: */
-struct bch_dev_usage __bch2_dev_usage_read(struct bch_dev *, bool);
struct bch_dev_usage bch2_dev_usage_read(struct bch_fs *, struct bch_dev *);
static inline u64 __dev_buckets_available(struct bch_dev *ca,
@@ -218,8 +217,18 @@ static inline u64 dev_buckets_free(struct bch_fs *c, struct bch_dev *ca)
/* Filesystem usage: */
-struct bch_fs_usage __bch2_fs_usage_read(struct bch_fs *, bool);
-struct bch_fs_usage bch2_fs_usage_read(struct bch_fs *);
+static inline struct bch_fs_usage *bch2_fs_usage_get_scratch(struct bch_fs *c)
+{
+ struct bch_fs_usage *ret;
+
+ ret = this_cpu_ptr(c->usage_scratch);
+
+ memset(ret, 0, sizeof(*ret) + c->replicas.nr * sizeof(u64));
+
+ return ret;
+}
+
+struct bch_fs_usage *bch2_fs_usage_read(struct bch_fs *);
u64 bch2_fs_sectors_used(struct bch_fs *, struct bch_fs_usage);