diff options
author | Jan Kara <jack@suse.cz> | 2009-08-11 17:27:21 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2009-09-16 17:44:10 +0200 |
commit | 3adae9da0b35d2ca908039f42a1e90395c335181 (patch) | |
tree | bc7d971ffb673dab926a4c3d02411a2b78b58f6a /fs/jbd/transaction.c | |
parent | 9c28cbccec66a5ca292c6659bf5a0fe0c8459fa7 (diff) |
jbd: Annotate transaction start also for journal_restart()
lockdep annotation for a transaction start has been at the end of
journal_start(). But a transaction is also started from journal_restart(). Move
the lockdep annotation to start_this_handle() which covers both cases.
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/jbd/transaction.c')
-rw-r--r-- | fs/jbd/transaction.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c index 833c1675a00..006f9ad838a 100644 --- a/fs/jbd/transaction.c +++ b/fs/jbd/transaction.c @@ -229,6 +229,8 @@ repeat_locked: __log_space_left(journal)); spin_unlock(&transaction->t_handle_lock); spin_unlock(&journal->j_state_lock); + + lock_map_acquire(&handle->h_lockdep_map); out: if (unlikely(new_transaction)) /* It's usually NULL */ kfree(new_transaction); @@ -293,9 +295,6 @@ handle_t *journal_start(journal_t *journal, int nblocks) handle = ERR_PTR(err); goto out; } - - lock_map_acquire(&handle->h_lockdep_map); - out: return handle; } @@ -417,6 +416,7 @@ int journal_restart(handle_t *handle, int nblocks) __log_start_commit(journal, transaction->t_tid); spin_unlock(&journal->j_state_lock); + lock_map_release(&handle->h_lockdep_map); handle->h_buffer_credits = nblocks; ret = start_this_handle(journal, handle); return ret; |