diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:32:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:32:30 -0400 |
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) | |||
1589 | set_current_state(TASK_UNINTERRUPTIBLE); | 1589 | set_current_state(TASK_UNINTERRUPTIBLE); |
1590 | LOGGC_UNLOCK(log); | 1590 | LOGGC_UNLOCK(log); |
1591 | schedule(); | 1591 | schedule(); |
1592 | current->state = TASK_RUNNING; | 1592 | __set_current_state(TASK_RUNNING); |
1593 | LOGGC_LOCK(log); | 1593 | LOGGC_LOCK(log); |
1594 | remove_wait_queue(&target->gcwait, &__wait); | 1594 | remove_wait_queue(&target->gcwait, &__wait); |
1595 | } | 1595 | } |
@@ -2353,14 +2353,15 @@ int jfsIOWait(void *arg) | |||
2353 | lbmStartIO(bp); | 2353 | lbmStartIO(bp); |
2354 | spin_lock_irq(&log_redrive_lock); | 2354 | spin_lock_irq(&log_redrive_lock); |
2355 | } | 2355 | } |
2356 | spin_unlock_irq(&log_redrive_lock); | ||
2357 | 2356 | ||
2358 | if (freezing(current)) { | 2357 | if (freezing(current)) { |
2358 | spin_unlock_irq(&log_redrive_lock); | ||
2359 | refrigerator(); | 2359 | refrigerator(); |
2360 | } else { | 2360 | } else { |
2361 | set_current_state(TASK_INTERRUPTIBLE); | 2361 | set_current_state(TASK_INTERRUPTIBLE); |
2362 | spin_unlock_irq(&log_redrive_lock); | ||
2362 | schedule(); | 2363 | schedule(); |
2363 | current->state = TASK_RUNNING; | 2364 | __set_current_state(TASK_RUNNING); |
2364 | } | 2365 | } |
2365 | } while (!kthread_should_stop()); | 2366 | } while (!kthread_should_stop()); |
2366 | 2367 | ||