| From ddd54044cba62d714d41d11c1bf69738113ba7b7 Mon Sep 17 00:00:00 2001 |
| From: Jan Kara <jack@suse.cz> |
| Date: Mon, 17 Aug 2009 21:23:17 -0400 |
| Subject: [PATCH 08/85] jbd2: Annotate transaction start also for jbd2_journal_restart() |
| |
| (cherry picked from commit 9599b0e597d810be9b8f759ea6e9619c4f983c5e) |
| |
| lockdep annotation for a transaction start has been at the end of |
| jbd2_journal_start(). But a transaction is also started from |
| jbd2_journal_restart(). Move the lockdep annotation to start_this_handle() |
| which covers both cases. |
| |
| Signed-off-by: Jan Kara <jack@suse.cz> |
| Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| fs/jbd2/transaction.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/fs/jbd2/transaction.c |
| +++ b/fs/jbd2/transaction.c |
| @@ -238,6 +238,8 @@ repeat_locked: |
| __jbd2_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); |
| @@ -303,8 +305,6 @@ handle_t *jbd2_journal_start(journal_t * |
| handle = ERR_PTR(err); |
| goto out; |
| } |
| - |
| - lock_map_acquire(&handle->h_lockdep_map); |
| out: |
| return handle; |
| } |
| @@ -426,6 +426,7 @@ int jbd2_journal_restart(handle_t *handl |
| __jbd2_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; |