diff --git a/fs/sync.c b/fs/sync.c index dd200025af85..3422ba61d86d 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -112,8 +112,13 @@ static void sync_filesystems(int wait) mutex_unlock(&mutex); } +/* + * sync everything. Start out by waking pdflush, because that writes back + * all queues in parallel. + */ SYSCALL_DEFINE0(sync) { + wakeup_pdflush(0); sync_filesystems(0); sync_filesystems(1); if (unlikely(laptop_mode))