diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c index dd422e680418..383b0fbc6e19 100644 --- a/fs/jbd2/transaction.c +++ b/fs/jbd2/transaction.c @@ -652,10 +652,10 @@ int jbd2__journal_restart(handle_t *handle, int nblocks, gfp_t gfp_mask) } if (atomic_dec_and_test(&transaction->t_updates)) wake_up(&journal->j_wait_updates); + tid = transaction->t_tid; spin_unlock(&transaction->t_handle_lock); jbd_debug(2, "restarting handle %p\n", handle); - tid = transaction->t_tid; need_to_start = !tid_geq(journal->j_commit_request, tid); read_unlock(&journal->j_state_lock); if (need_to_start)