diff options
Diffstat (limited to 'fs/jbd2/commit.c')
-rw-r--r-- | fs/jbd2/commit.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 150cc030b4d7..2eb55c3361a8 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
@@ -439,6 +439,8 @@ void jbd2_journal_commit_transaction(journal_t *journal) | |||
439 | finish_wait(&journal->j_wait_updates, &wait); | 439 | finish_wait(&journal->j_wait_updates, &wait); |
440 | } | 440 | } |
441 | spin_unlock(&commit_transaction->t_handle_lock); | 441 | spin_unlock(&commit_transaction->t_handle_lock); |
442 | commit_transaction->t_state = T_SWITCH; | ||
443 | write_unlock(&journal->j_state_lock); | ||
442 | 444 | ||
443 | J_ASSERT (atomic_read(&commit_transaction->t_outstanding_credits) <= | 445 | J_ASSERT (atomic_read(&commit_transaction->t_outstanding_credits) <= |
444 | journal->j_max_transaction_buffers); | 446 | journal->j_max_transaction_buffers); |
@@ -505,6 +507,7 @@ void jbd2_journal_commit_transaction(journal_t *journal) | |||
505 | atomic_sub(atomic_read(&journal->j_reserved_credits), | 507 | atomic_sub(atomic_read(&journal->j_reserved_credits), |
506 | &commit_transaction->t_outstanding_credits); | 508 | &commit_transaction->t_outstanding_credits); |
507 | 509 | ||
510 | write_lock(&journal->j_state_lock); | ||
508 | trace_jbd2_commit_flushing(journal, commit_transaction); | 511 | trace_jbd2_commit_flushing(journal, commit_transaction); |
509 | stats.run.rs_flushing = jiffies; | 512 | stats.run.rs_flushing = jiffies; |
510 | stats.run.rs_locked = jbd2_time_diff(stats.run.rs_locked, | 513 | stats.run.rs_locked = jbd2_time_diff(stats.run.rs_locked, |