From: Ingo Molnar Teach special (non-nested) unlocking code to the lock validator. Has no effect on non-lockdep kernels. Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton --- fs/jbd/checkpoint.c | 2 +- fs/jbd/commit.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/jbd/checkpoint.c~lock-validator-special-locking-jbd fs/jbd/checkpoint.c --- devel/fs/jbd/checkpoint.c~lock-validator-special-locking-jbd 2006-05-29 18:13:31.000000000 -0700 +++ devel-akpm/fs/jbd/checkpoint.c 2006-05-29 18:13:31.000000000 -0700 @@ -135,7 +135,7 @@ void __log_wait_for_space(journal_t *jou log_do_checkpoint(journal); spin_lock(&journal->j_state_lock); } - mutex_unlock(&journal->j_checkpoint_mutex); + mutex_unlock_non_nested(&journal->j_checkpoint_mutex); } } diff -puN fs/jbd/commit.c~lock-validator-special-locking-jbd fs/jbd/commit.c --- devel/fs/jbd/commit.c~lock-validator-special-locking-jbd 2006-05-29 18:13:31.000000000 -0700 +++ devel-akpm/fs/jbd/commit.c 2006-05-29 18:13:31.000000000 -0700 @@ -838,7 +838,7 @@ restart_loop: J_ASSERT(commit_transaction == journal->j_committing_transaction); journal->j_commit_sequence = commit_transaction->t_tid; journal->j_committing_transaction = NULL; - spin_unlock(&journal->j_state_lock); + spin_unlock_non_nested(&journal->j_state_lock); if (commit_transaction->t_checkpoint_list == NULL) { __journal_drop_transaction(journal, commit_transaction); _