On 2024/5/6 22:18, Kemeng Shi wrote:
> We only need to sleep if no running transaction is expired. Simply remove
> unnecessary "should_sleep".
>
> Signed-off-by: Kemeng Shi <[email protected]>
It looks much clearer now.
Reviewed-by: Zhang Yi <[email protected]>
> ---
> fs/jbd2/journal.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
> index ce9004f40ffb..65c6cfce9d92 100644
> --- a/fs/jbd2/journal.c
> +++ b/fs/jbd2/journal.c
> @@ -220,15 +220,12 @@ static int kjournald2(void *arg)
> * so we don't sleep
> */
> DEFINE_WAIT(wait);
> - int should_sleep = 1;
>
> prepare_to_wait(&journal->j_wait_commit, &wait,
> TASK_INTERRUPTIBLE);
> transaction = journal->j_running_transaction;
> - if (transaction && time_after_eq(jiffies,
> - transaction->t_expires))
> - should_sleep = 0;
> - if (should_sleep) {
> + if (transaction == NULL ||
> + time_before(jiffies, transaction->t_expires)) {
> write_unlock(&journal->j_state_lock);
> schedule();
> write_lock(&journal->j_state_lock);
>