diff options
author | Jeff Mahoney <jeffm@suse.com> | 2008-07-25 04:46:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-25 13:53:33 -0400 |
commit | f68215c4640a38d66429014e524a627bf572d26a (patch) | |
tree | 9880a7adbdcda5dba88fe875520b787555b80802 | |
parent | 00b441970a0ab48185244300ac7d4e4eb76df692 (diff) |
reiserfs: convert j_lock to mutex
j_lock is a semaphore but uses it as if it were a mutex. This patch converts
it to a mutex.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Edward Shishkin <edward.shishkin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/reiserfs/journal.c | 6 | ||||
-rw-r--r-- | include/linux/reiserfs_fs_sb.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index e396b2fa4743..0f7b1e807e60 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
@@ -558,13 +558,13 @@ static inline void insert_journal_hash(struct reiserfs_journal_cnode **table, | |||
558 | static inline void lock_journal(struct super_block *p_s_sb) | 558 | static inline void lock_journal(struct super_block *p_s_sb) |
559 | { | 559 | { |
560 | PROC_INFO_INC(p_s_sb, journal.lock_journal); | 560 | PROC_INFO_INC(p_s_sb, journal.lock_journal); |
561 | down(&SB_JOURNAL(p_s_sb)->j_lock); | 561 | mutex_lock(&SB_JOURNAL(p_s_sb)->j_mutex); |
562 | } | 562 | } |
563 | 563 | ||
564 | /* unlock the current transaction */ | 564 | /* unlock the current transaction */ |
565 | static inline void unlock_journal(struct super_block *p_s_sb) | 565 | static inline void unlock_journal(struct super_block *p_s_sb) |
566 | { | 566 | { |
567 | up(&SB_JOURNAL(p_s_sb)->j_lock); | 567 | mutex_unlock(&SB_JOURNAL(p_s_sb)->j_mutex); |
568 | } | 568 | } |
569 | 569 | ||
570 | static inline void get_journal_list(struct reiserfs_journal_list *jl) | 570 | static inline void get_journal_list(struct reiserfs_journal_list *jl) |
@@ -2837,7 +2837,7 @@ int journal_init(struct super_block *p_s_sb, const char *j_dev_name, | |||
2837 | journal->j_last = NULL; | 2837 | journal->j_last = NULL; |
2838 | journal->j_first = NULL; | 2838 | journal->j_first = NULL; |
2839 | init_waitqueue_head(&(journal->j_join_wait)); | 2839 | init_waitqueue_head(&(journal->j_join_wait)); |
2840 | sema_init(&journal->j_lock, 1); | 2840 | mutex_init(&journal->j_mutex); |
2841 | sema_init(&journal->j_flush_sem, 1); | 2841 | sema_init(&journal->j_flush_sem, 1); |
2842 | 2842 | ||
2843 | journal->j_trans_id = 10; | 2843 | journal->j_trans_id = 10; |
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 336ee43ed7d8..49b639b88bac 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h | |||
@@ -193,7 +193,7 @@ struct reiserfs_journal { | |||
193 | struct buffer_head *j_header_bh; | 193 | struct buffer_head *j_header_bh; |
194 | 194 | ||
195 | time_t j_trans_start_time; /* time this transaction started */ | 195 | time_t j_trans_start_time; /* time this transaction started */ |
196 | struct semaphore j_lock; | 196 | struct mutex j_mutex; |
197 | struct semaphore j_flush_sem; | 197 | struct semaphore j_flush_sem; |
198 | wait_queue_head_t j_join_wait; /* wait for current transaction to finish before starting new one */ | 198 | wait_queue_head_t j_join_wait; /* wait for current transaction to finish before starting new one */ |
199 | atomic_t j_jlock; /* lock for j_join_wait */ | 199 | atomic_t j_jlock; /* lock for j_join_wait */ |