[PATCH] sem2mutex: jbd, j_checkpoint_mutex
Arjan van de Ven [Thu, 23 Mar 2006 11:00:35 +0000 (03:00 -0800)]
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

fs/jbd/checkpoint.c
fs/jbd/journal.c
fs/jbd/transaction.c
include/linux/jbd.h

index 543ed54..3f5102b 100644 (file)
@@ -85,7 +85,7 @@ void __log_wait_for_space(journal_t *journal)
                if (journal->j_flags & JFS_ABORT)
                        return;
                spin_unlock(&journal->j_state_lock);
-               down(&journal->j_checkpoint_sem);
+               mutex_lock(&journal->j_checkpoint_mutex);
 
                /*
                 * Test again, another process may have checkpointed while we
@@ -98,7 +98,7 @@ void __log_wait_for_space(journal_t *journal)
                        log_do_checkpoint(journal);
                        spin_lock(&journal->j_state_lock);
                }
-               up(&journal->j_checkpoint_sem);
+               mutex_unlock(&journal->j_checkpoint_mutex);
        }
 }
 
index e4b516a..95a628d 100644 (file)
@@ -659,8 +659,8 @@ 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);
-       init_MUTEX(&journal->j_barrier);
-       init_MUTEX(&journal->j_checkpoint_sem);
+       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);
        spin_lock_init(&journal->j_state_lock);
index ca91797..5fc4088 100644 (file)
@@ -455,7 +455,7 @@ void journal_lock_updates(journal_t *journal)
         * to make sure that we serialise special journal-locked operations
         * too.
         */
-       down(&journal->j_barrier);
+       mutex_lock(&journal->j_barrier);
 }
 
 /**
@@ -470,7 +470,7 @@ void journal_unlock_updates (journal_t *journal)
 {
        J_ASSERT(journal->j_barrier_count != 0);
 
-       up(&journal->j_barrier);
+       mutex_unlock(&journal->j_barrier);
        spin_lock(&journal->j_state_lock);
        --journal->j_barrier_count;
        spin_unlock(&journal->j_state_lock);
index 41ee799..2ccbfb6 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/journal-head.h>
 #include <linux/stddef.h>
 #include <linux/bit_spinlock.h>
+#include <linux/mutex.h>
 #include <asm/semaphore.h>
 #endif
 
@@ -575,7 +576,7 @@ struct transaction_s
  * @j_wait_checkpoint:  Wait queue to trigger checkpointing
  * @j_wait_commit: Wait queue to trigger commit
  * @j_wait_updates: Wait queue to wait for updates to complete
- * @j_checkpoint_sem: Semaphore for locking against concurrent checkpoints
+ * @j_checkpoint_mutex: Mutex for locking against concurrent checkpoints
  * @j_head: Journal head - identifies the first unused block in the journal
  * @j_tail: Journal tail - identifies the oldest still-used block in the
  *  journal.
@@ -645,7 +646,7 @@ struct journal_s
        int                     j_barrier_count;
 
        /* The barrier lock itself */
-       struct semaphore        j_barrier;
+       struct mutex            j_barrier;
 
        /*
         * Transactions: The current running transaction...
@@ -687,7 +688,7 @@ struct journal_s
        wait_queue_head_t       j_wait_updates;
 
        /* Semaphore for locking against concurrent checkpoints */
-       struct semaphore        j_checkpoint_sem;
+       struct mutex            j_checkpoint_mutex;
 
        /*
         * Journal head: identifies the first unused block in the journal.