summaryrefslogtreecommitdiff
path: root/fs/jbd/journal.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2011-12-22 13:52:21 (GMT)
committerJan Kara <jack@suse.cz>2012-01-09 12:52:09 (GMT)
commit0048278552e9752fd578c3d8deee756987c10873 (patch)
tree0931a7ff6aa5c388eb40e2a97fdcebe59bbae337 /fs/jbd/journal.c
parenta9e36da655e54545c3289b2a0700b5c443de0edd (diff)
downloadlinux-fsl-qoriq-0048278552e9752fd578c3d8deee756987c10873.tar.xz
jbd: Remove j_barrier mutex
j_barrier mutex is used for serializing different journal lock operations. The problem with it is that e.g. FIFREEZE ioctl results in process leaving kernel with j_barrier mutex held which makes lockdep freak out. Also hibernation code wants to freeze filesystem but it cannot do so because it then cannot hibernate the system because of mutex being locked. So we remove j_barrier mutex and use direct wait on j_barrier_count instead. Since locking journal is a rare operation we don't have to care about fairness or such things. CC: Andrew Morton <akpm@linux-foundation.org> Acked-by: Joel Becker <jlbec@evilplan.org> Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/jbd/journal.c')
-rw-r--r--fs/jbd/journal.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
index fea8dd6..1656dc2 100644
--- a/fs/jbd/journal.c
+++ b/fs/jbd/journal.c
@@ -721,7 +721,6 @@ static journal_t * journal_init_common (void)
init_waitqueue_head(&journal->j_wait_checkpoint);
init_waitqueue_head(&journal->j_wait_commit);
init_waitqueue_head(&journal->j_wait_updates);
- mutex_init(&journal->j_barrier);
mutex_init(&journal->j_checkpoint_mutex);
spin_lock_init(&journal->j_revoke_lock);
spin_lock_init(&journal->j_list_lock);