diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 11:32:30 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 11:32:30 -0700 |
commit | 18062a91d2ddc40e19fc674afeb7cad58cfa23ab (patch) | |
tree | 886fe7ec99623767e38ff7fc67a078918338bb3e /fs/jfs/jfs_logmgr.c | |
parent | be3478ddb8a3902b588c840b42e166a0e64a87b3 (diff) | |
parent | 05ec9e26be1f668ccba4ca54d9a4966c6208c611 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
JFS: Fix race waking up jfsIO kernel thread
JFS: use __set_current_state()
Copy i_flags to jfs inode flags on write
JFS: document uid, gid, and umask mount options in jfs.txt
Diffstat (limited to 'fs/jfs/jfs_logmgr.c')
-rw-r--r-- | fs/jfs/jfs_logmgr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c index 783e80b5a8e7..6a3f00dc8c83 100644 --- a/fs/jfs/jfs_logmgr.c +++ b/fs/jfs/jfs_logmgr.c @@ -1589,7 +1589,7 @@ void jfs_flush_journal(struct jfs_log *log, int wait) set_current_state(TASK_UNINTERRUPTIBLE); LOGGC_UNLOCK(log); schedule(); - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); LOGGC_LOCK(log); remove_wait_queue(&target->gcwait, &__wait); } @@ -2353,14 +2353,15 @@ int jfsIOWait(void *arg) lbmStartIO(bp); spin_lock_irq(&log_redrive_lock); } - spin_unlock_irq(&log_redrive_lock); if (freezing(current)) { + spin_unlock_irq(&log_redrive_lock); refrigerator(); } else { set_current_state(TASK_INTERRUPTIBLE); + spin_unlock_irq(&log_redrive_lock); schedule(); - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); } } while (!kthread_should_stop()); |