jbd: need to hold j_state_lock to updates to transaction t_state to T_COMMIT
Updating the current transaction's t_state is protected by j_state_lock. We need to do the same when updating the t_state to T_COMMIT. Signed-off-by: Mingming Cao <cmm@us.ibm.com> Acked-by: Jan Kara <jack@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c3723ca387
commit
772279c5f1
1 changed files with 2 additions and 0 deletions
|
@ -470,7 +470,9 @@ void journal_commit_transaction(journal_t *journal)
|
||||||
* transaction! Now comes the tricky part: we need to write out
|
* transaction! Now comes the tricky part: we need to write out
|
||||||
* metadata. Loop over the transaction's entire buffer list:
|
* metadata. Loop over the transaction's entire buffer list:
|
||||||
*/
|
*/
|
||||||
|
spin_lock(&journal->j_state_lock);
|
||||||
commit_transaction->t_state = T_COMMIT;
|
commit_transaction->t_state = T_COMMIT;
|
||||||
|
spin_unlock(&journal->j_state_lock);
|
||||||
|
|
||||||
J_ASSERT(commit_transaction->t_nr_buffers <=
|
J_ASSERT(commit_transaction->t_nr_buffers <=
|
||||||
commit_transaction->t_outstanding_credits);
|
commit_transaction->t_outstanding_credits);
|
||||||
|
|
Loading…
Reference in a new issue