On Thu, Aug 28, 2025 at 05:16:09PM +0300, Nikita Ofitserov via B4 Relay wrote:
> From: Nikita Ofitserov <[email protected]>
> 
> 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 <[email protected]>

kicked this patch out for now - run a lockdep test

> ---
>  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
> 
> 

Reply via email to