Skip to content

Commit

Permalink
[PATCH] sem2mutex: jbd, j_checkpoint_mutex
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Arjan van de Ven authored and Linus Torvalds committed Mar 23, 2006
1 parent f24075b commit 2c68ee7
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
4 changes: 2 additions & 2 deletions fs/jbd/checkpoint.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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);
}
}

Expand Down
4 changes: 2 additions & 2 deletions fs/jbd/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions fs/jbd/transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/**
Expand All @@ -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);
Expand Down
7 changes: 4 additions & 3 deletions include/linux/jbd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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...
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 2c68ee7

Please sign in to comment.