diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-03-15 18:20:46 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:18 -0400 |
commit | 4d8100daa9bb6c243cd39be0956005a76eec36ee (patch) | |
tree | d27dbb35311b15c0014342a8fd7c72bca28737df /fs/bcachefs/buckets.h | |
parent | 9623ab27ab27e211e66aa1dd9a5ec90307160c8b (diff) |
bcachefs: Allocate fs_usage in do_btree_insert_at()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/buckets.h')
-rw-r--r-- | fs/bcachefs/buckets.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/fs/bcachefs/buckets.h b/fs/bcachefs/buckets.h index fc2c212392b6..e34c9d24dc38 100644 --- a/fs/bcachefs/buckets.h +++ b/fs/bcachefs/buckets.h @@ -219,13 +219,8 @@ static inline unsigned fs_usage_u64s(struct bch_fs *c) READ_ONCE(c->replicas.nr); } -static inline struct bch_fs_usage *bch2_fs_usage_get_scratch(struct bch_fs *c) -{ - struct bch_fs_usage *ret = this_cpu_ptr(c->usage_scratch); - - memset(ret, 0, fs_usage_u64s(c) * sizeof(u64)); - return ret; -} +void bch2_fs_usage_scratch_put(struct bch_fs *, struct bch_fs_usage *); +struct bch_fs_usage *bch2_fs_usage_scratch_get(struct bch_fs *); struct bch_fs_usage *bch2_fs_usage_read(struct bch_fs *); @@ -256,10 +251,13 @@ int bch2_mark_key_locked(struct bch_fs *, struct bkey_s_c, int bch2_mark_key(struct bch_fs *, struct bkey_s_c, bool, s64, struct gc_pos, struct bch_fs_usage *, u64, unsigned); -void bch2_mark_update(struct btree_trans *, struct btree_insert_entry *); int bch2_fs_usage_apply(struct bch_fs *, struct bch_fs_usage *, struct disk_reservation *); +void bch2_mark_update(struct btree_trans *, struct btree_insert_entry *, + struct bch_fs_usage *); +void bch2_trans_fs_usage_apply(struct btree_trans *, struct bch_fs_usage *); + /* disk reservations: */ void __bch2_disk_reservation_put(struct bch_fs *, struct disk_reservation *); |