diff --git a/fs/sync.c b/fs/sync.c index dd200025af8521d65e7bf28efceaece55994c59d..3422ba61d86dcad558fd47d59756b411bfae7a81 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))