diff options
author | Jan Kara <jack@suse.cz> | 2016-06-30 11:30:21 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2016-06-30 11:30:21 -0400 |
commit | 7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c (patch) | |
tree | e5d8354018750da84585d277be33537d23ab1bd8 /fs/jbd2 | |
parent | 78d962510796fdf39ccc5efd23d2eea2eca1ed99 (diff) | |
download | linux-7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c.tar.gz linux-7a4b188f0c0b49ed8ae41489494a9669ad7f1f8c.tar.bz2 linux-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>
Diffstat (limited to 'fs/jbd2')
-rw-r--r-- | fs/jbd2/transaction.c | 4 |
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: |