Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23518
b: refs/heads/master
c: e3df189
h: refs/heads/master
v: v3
  • Loading branch information
Andrew Morton authored and Linus Torvalds committed Mar 25, 2006
1 parent 9ab9353 commit 46f20ec
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1d9b7d97d6661edb44ce08f17e47c66d4ac20e34
refs/heads/master: e3df18983ea090a2e00dd5c2c6167bb431a0e0a2
19 changes: 9 additions & 10 deletions trunk/fs/jbd/journal.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,18 +111,17 @@ static void commit_timeout(unsigned long __data)

static int kjournald(void *arg)
{
journal_t *journal = (journal_t *) arg;
journal_t *journal = arg;
transaction_t *transaction;
struct timer_list timer;

daemonize("kjournald");

/* Set up an interval timer which can be used to trigger a
commit wakeup after the commit interval expires */
init_timer(&timer);
timer.data = (unsigned long) current;
timer.function = commit_timeout;
journal->j_commit_timer = &timer;
/*
* Set up an interval timer which can be used to trigger a commit wakeup
* after the commit interval expires
*/
setup_timer(&journal->j_commit_timer, commit_timeout,
(unsigned long)current);

/* Record that the journal thread is running */
journal->j_task = current;
Expand All @@ -146,7 +145,7 @@ static int kjournald(void *arg)
if (journal->j_commit_sequence != journal->j_commit_request) {
jbd_debug(1, "OK, requests differ\n");
spin_unlock(&journal->j_state_lock);
del_timer_sync(journal->j_commit_timer);
del_timer_sync(&journal->j_commit_timer);
journal_commit_transaction(journal);
spin_lock(&journal->j_state_lock);
goto loop;
Expand Down Expand Up @@ -203,7 +202,7 @@ static int kjournald(void *arg)

end_loop:
spin_unlock(&journal->j_state_lock);
del_timer_sync(journal->j_commit_timer);
del_timer_sync(&journal->j_commit_timer);
journal->j_task = NULL;
wake_up(&journal->j_wait_done_commit);
jbd_debug(1, "Journal thread exiting.\n");
Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/jbd/transaction.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ get_transaction(journal_t *journal, transaction_t *transaction)
spin_lock_init(&transaction->t_handle_lock);

/* Set up the commit timer for the new transaction. */
journal->j_commit_timer->expires = transaction->t_expires;
add_timer(journal->j_commit_timer);
journal->j_commit_timer.expires = transaction->t_expires;
add_timer(&journal->j_commit_timer);

J_ASSERT(journal->j_running_transaction == NULL);
journal->j_running_transaction = transaction;
Expand Down
4 changes: 3 additions & 1 deletion trunk/include/linux/jbd.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
#include <linux/stddef.h>
#include <linux/bit_spinlock.h>
#include <linux/mutex.h>
#include <linux/timer.h>

#include <asm/semaphore.h>
#endif

Expand Down Expand Up @@ -787,7 +789,7 @@ struct journal_s
unsigned long j_commit_interval;

/* The timer used to wakeup the commit thread: */
struct timer_list *j_commit_timer;
struct timer_list j_commit_timer;

/*
* The revoke table: maintains the list of revoked blocks in the
Expand Down

0 comments on commit 46f20ec

Please sign in to comment.