JBD2: update transaction t_state to T_COMMIT fix We need to hold the j_state_lock to update the current transaction's t_state Acked-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Signed-off-by: Andrew Morton --- fs/jbd2/commit.c | 2 ++ 1 file changed, 2 insertions(+) Index: linux-2.6.26-rc1/fs/jbd2/commit.c =================================================================== --- linux-2.6.26-rc1.orig/fs/jbd2/commit.c 2008-05-03 11:59:44.000000000 -0700 +++ linux-2.6.26-rc1/fs/jbd2/commit.c 2008-05-09 13:32:01.000000000 -0700 @@ -560,7 +560,9 @@ void jbd2_journal_commit_transaction(jou * transaction! Now comes the tricky part: we need to write out * metadata. Loop over the transaction's entire buffer list: */ + spin_lock(&journal->j_state_lock); commit_transaction->t_state = T_COMMIT; + spin_unlock(&journal->j_state_lock); stats.u.run.rs_logging = jiffies; stats.u.run.rs_flushing = jbd2_time_diff(stats.u.run.rs_flushing,