Well it's a one-liner. sys_sync() only syncs one queue at a time, and
can be slow if you have a lot of disks. So poke pdflush, which knows
how to write all the queues in parallel.
}
/*
- * sync everything.
+ * sync everything. Start out by waking pdflush, because that writes back
+ * all queues in parallel.
*/
asmlinkage long sys_sync(void)
{
+ wakeup_bdflush(0);
sync_inodes(0); /* All mappings and inodes, including block devices */
DQUOT_SYNC(NULL);
sync_supers(); /* Write the superblocks */