diff options
| author | Kent Overstreet <[email protected]> | 2023-11-11 20:08:36 +0000 |
|---|---|---|
| committer | Kent Overstreet <[email protected]> | 2024-01-21 11:01:45 +0000 |
| commit | 5b14ce35af901853e91e186f34e71f31b08b4e0a (patch) | |
| tree | 6c5464e7a69f911a18de19e6103c798460fef1b7 /fs/bcachefs/btree_trans_commit.c | |
| parent | bcachefs: bch_fs_usage_base (diff) | |
| download | kernel-5b14ce35af901853e91e186f34e71f31b08b4e0a.tar.gz kernel-5b14ce35af901853e91e186f34e71f31b08b4e0a.zip | |
bcachefs: bch2_trans_account_disk_usage_change()
The disk space accounting rewrite is splitting out accounting for each
replicas set - those are moving to btree keys, instead of percpu
counters.
This breaks bch2_trans_fs_usage_apply() up, splitting out the part we
will still need.
Signed-off-by: Kent Overstreet <[email protected]>
Diffstat (limited to 'fs/bcachefs/btree_trans_commit.c')
| -rw-r--r-- | fs/bcachefs/btree_trans_commit.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_trans_commit.c b/fs/bcachefs/btree_trans_commit.c index e3a82c33912b..ab00d202361e 100644 --- a/fs/bcachefs/btree_trans_commit.c +++ b/fs/bcachefs/btree_trans_commit.c @@ -675,6 +675,9 @@ bch2_trans_commit_write_locked(struct btree_trans *trans, unsigned flags, bch2_trans_fs_usage_apply(trans, trans->fs_usage_deltas)) return -BCH_ERR_btree_insert_need_mark_replicas; + /* XXX: we only want to run this if deltas are nonzero */ + bch2_trans_account_disk_usage_change(trans); + h = trans->hooks; while (h) { ret = h->fn(trans, h); @@ -989,6 +992,8 @@ int __bch2_trans_commit(struct btree_trans *trans, unsigned flags) !trans->journal_entries_u64s) goto out_reset; + memset(&trans->fs_usage_delta, 0, sizeof(trans->fs_usage_delta)); + ret = bch2_trans_commit_run_triggers(trans); if (ret) goto out_reset; |
