diff options
| -rw-r--r-- | fs/fs-writeback.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 76f546d56a64..437a7431b4ea 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
| @@ -978,8 +978,13 @@ int bdi_writeback_task(struct bdi_writeback *wb) | |||
| 978 | if (dirty_writeback_interval) { | 978 | if (dirty_writeback_interval) { |
| 979 | wait_jiffies = msecs_to_jiffies(dirty_writeback_interval * 10); | 979 | wait_jiffies = msecs_to_jiffies(dirty_writeback_interval * 10); |
| 980 | schedule_timeout_interruptible(wait_jiffies); | 980 | schedule_timeout_interruptible(wait_jiffies); |
| 981 | } else | 981 | } else { |
| 982 | schedule(); | 982 | set_current_state(TASK_INTERRUPTIBLE); |
| 983 | if (list_empty_careful(&wb->bdi->work_list) && | ||
| 984 | !kthread_should_stop()) | ||
| 985 | schedule(); | ||
| 986 | __set_current_state(TASK_RUNNING); | ||
| 987 | } | ||
| 983 | 988 | ||
| 984 | try_to_freeze(); | 989 | try_to_freeze(); |
| 985 | } | 990 | } |
