diff options
author | Theodore Ts'o <tytso@mit.edu> | 2010-08-02 08:43:25 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-08-02 08:43:25 -0400 |
commit | a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37 (patch) | |
tree | 31256b4fa3ec1d0e1e27196607499877c662ee86 /fs/jbd2/checkpoint.c | |
parent | 8b67f04ab9de5d8f3a71aef72bf02c995a506db5 (diff) | |
download | blackbird-op-linux-a51dca9cd3bb4ec5a05bfb6feabf024a5c808a37.tar.gz blackbird-op-linux-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.c | 2 |
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); |