diff options
Diffstat (limited to 'fs/bcachefs/btree_trans_commit.c')
-rw-r--r-- | fs/bcachefs/btree_trans_commit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_trans_commit.c b/fs/bcachefs/btree_trans_commit.c index 5fa7f2f9f1e9..2966971ee43e 100644 --- a/fs/bcachefs/btree_trans_commit.c +++ b/fs/bcachefs/btree_trans_commit.c @@ -970,6 +970,7 @@ do_bch2_trans_commit_to_journal_replay(struct btree_trans *trans, struct bkey_i *accounting; retry: + memset(&trans->fs_usage_delta, 0, sizeof(trans->fs_usage_delta)); percpu_down_read(&c->mark_lock); for (accounting = btree_trans_subbuf_base(trans, &trans->accounting); accounting != btree_trans_subbuf_top(trans, &trans->accounting); @@ -983,6 +984,9 @@ retry: } percpu_up_read(&c->mark_lock); + /* Only fatal errors are possible later, so no need to revert this */ + bch2_trans_account_disk_usage_change(trans); + trans_for_each_update(trans, i) { ret = bch2_journal_key_insert(c, i->btree_id, i->level, i->k); if (ret) |