diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index d45ceb2e2149..8d5aced7ed0c 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c @@ -514,13 +514,13 @@ void jbd2_journal_commit_transaction(journal_t *journal) */ jbd2_journal_switch_revoke_table(journal); + write_lock(&journal->j_state_lock); /* * Reserved credits cannot be claimed anymore, free them */ atomic_sub(atomic_read(&journal->j_reserved_credits), &commit_transaction->t_outstanding_credits); - write_lock(&journal->j_state_lock); trace_jbd2_commit_flushing(journal, commit_transaction); stats.run.rs_flushing = jiffies; stats.run.rs_locked = jbd2_time_diff(stats.run.rs_locked,