summaryrefslogtreecommitdiff
path: root/fs/jbd2/checkpoint.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2010-08-02 08:43:25 -0400
committerTheodore Ts'o <tytso@mit.edu>2010-08-02 08:43:25 -0400
commita51dca9cd3bb4ec5a05bfb6feabf024a5c808a37 (patch)
tree31256b4fa3ec1d0e1e27196607499877c662ee86 /fs/jbd2/checkpoint.c
parent8b67f04ab9de5d8f3a71aef72bf02c995a506db5 (diff)
downloadlwn-a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37.tar.gz
lwn-a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37.zip
jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop
By using an atomic_t for t_updates and t_outstanding credits, this should allow us to not need to take transaction t_handle_lock in jbd2_journal_stop(). Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2/checkpoint.c')
-rw-r--r--fs/jbd2/checkpoint.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c
index 076d1cc44f95..f8cdc02520f9 100644
--- a/fs/jbd2/checkpoint.c
+++ b/fs/jbd2/checkpoint.c
@@ -775,7 +775,7 @@ void __jbd2_journal_drop_transaction(journal_t *journal, transaction_t *transact
J_ASSERT(transaction->t_log_list == NULL);
J_ASSERT(transaction->t_checkpoint_list == NULL);
J_ASSERT(transaction->t_checkpoint_io_list == NULL);
- J_ASSERT(transaction->t_updates == 0);
+ J_ASSERT(atomic_read(&transaction->t_updates) == 0);
J_ASSERT(journal->j_committing_transaction != transaction);
J_ASSERT(journal->j_running_transaction != transaction);