Applied, thanks!

Milos Nikic, le jeu. 24 sept. 2026 15:02:28 -0700, a ecrit:
> Currently there is a state where inside 
> journal_commit_running_transaction_locked we move the running transaction to 
> committing one, and then start waiting for the t_updates on the committing 
> transaction to become 0 to proceed with the commit. In this gap, there is no 
> running transaction
> ---
>  ext2fs/journal.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/ext2fs/journal.c b/ext2fs/journal.c
> index 5c4cc711a..d4097da89 100644
> --- a/ext2fs/journal.c
> +++ b/ext2fs/journal.c
> @@ -2064,6 +2064,15 @@ journal_commit_running_transaction_locked (journal_t 
> *journal)
>  
>    journal->j_committing_transaction = txn;
>    journal->j_running_transaction = NULL;
> +  if (!journal->j_must_exit)
> +    {
> +      /* Instantly spawn the next txn so that there is no gap. */
> +      diskfs_transaction_t *run =
> +     diskfs_journal_start_transaction_locked (journal);
> +      if (run)
> +     run->t_updates--;       /* We are just seeding it, not joining it! */
> +    }
> +
>    txn->t_state = T_LOCKED;
>  
>    while (txn->t_updates > 0)
> -- 
> 2.55.0
> 

Reply via email to