From: Nikita Ofitserov <himi...@gmail.com> Make do_bch2_trans_commit_to_journal_replay apply global FS usage updates stored in trans->fs_usage_delta, too.
Signed-off-by: Nikita Ofitserov <himi...@gmail.com> --- fs/bcachefs/btree_trans_commit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/bcachefs/btree_trans_commit.c b/fs/bcachefs/btree_trans_commit.c index 5fa7f2f9f1e9d0ddd1d4675774321b519313f477..e3f069ad4002e2b007600fb41cd220d13386d37f 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); @@ -981,6 +982,8 @@ do_bch2_trans_commit_to_journal_replay(struct btree_trans *trans, if (ret) goto revert_fs_usage; } + /* Only fatal errors are possible later, so no need to revert this */ + bch2_trans_account_disk_usage_change(trans); percpu_up_read(&c->mark_lock); trans_for_each_update(trans, i) { -- 2.50.1