diff options
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r-- | fs/fs-writeback.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 51ea267d444c..310972b72a66 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -228,6 +228,8 @@ static void requeue_io(struct inode *inode, struct bdi_writeback *wb) | |||
228 | static void inode_sync_complete(struct inode *inode) | 228 | static void inode_sync_complete(struct inode *inode) |
229 | { | 229 | { |
230 | inode->i_state &= ~I_SYNC; | 230 | inode->i_state &= ~I_SYNC; |
231 | /* If inode is clean an unused, put it into LRU now... */ | ||
232 | inode_add_lru(inode); | ||
231 | /* Waiters must see I_SYNC cleared before being woken up */ | 233 | /* Waiters must see I_SYNC cleared before being woken up */ |
232 | smp_mb(); | 234 | smp_mb(); |
233 | wake_up_bit(&inode->i_state, __I_SYNC); | 235 | wake_up_bit(&inode->i_state, __I_SYNC); |
@@ -1032,7 +1034,7 @@ int bdi_writeback_thread(void *data) | |||
1032 | while (!kthread_freezable_should_stop(NULL)) { | 1034 | while (!kthread_freezable_should_stop(NULL)) { |
1033 | /* | 1035 | /* |
1034 | * Remove own delayed wake-up timer, since we are already awake | 1036 | * Remove own delayed wake-up timer, since we are already awake |
1035 | * and we'll take care of the preriodic write-back. | 1037 | * and we'll take care of the periodic write-back. |
1036 | */ | 1038 | */ |
1037 | del_timer(&wb->wakeup_timer); | 1039 | del_timer(&wb->wakeup_timer); |
1038 | 1040 | ||