summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2016-06-30 11:30:21 -0400
committerTheodore Ts'o <tytso@mit.edu>2016-06-30 11:30:21 -0400
commit7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c (patch)
treee5d8354018750da84585d277be33537d23ab1bd8
parent78d962510796fdf39ccc5efd23d2eea2eca1ed99 (diff)
downloadlwn-7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c.tar.gz
lwn-7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c.zip
jbd2: move lockdep instrumentation for jbd2 handles
The transaction the handle references is free to commit once we've decremented t_updates counter. Move the lockdep instrumentation to that place. Currently it was a bit later which did not really matter but subsequent improvements to lockdep instrumentation would cause false positives with it. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--fs/jbd2/transaction.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index 1749519b362f..41249538c047 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -1750,11 +1750,11 @@ int jbd2_journal_stop(handle_t *handle)
wake_up(&journal->j_wait_transaction_locked);
}
+ lock_map_release(&handle->h_lockdep_map);
+
if (wait_for_commit)
err = jbd2_log_wait_commit(journal, tid);
- lock_map_release(&handle->h_lockdep_map);
-
if (handle->h_rsv_handle)
jbd2_journal_free_reserved(handle->h_rsv_handle);
free_and_exit: