UPDATE(4) BSD Programmer's Manual UPDATE(4)NAMEupdate - trickle sync filesystem caches to disk
DESCRIPTION
At system boot time, the kernel starts filesys_syncer, process 3. This
process helps protect the integrity of disk volumes by ensuring that
volatile cached filesystem data are written to disk within the
vfs.generic.syncdelay interval which defaults to thirty seconds (see
sysctl(8)). When a vnode is first written it is placed
vfs.generic.syncdelay seconds down on the trickle sync queue. If it
still exists and has dirty data when it reaches the top of the queue,
filesys_syncer writes it to disk. This approach evens out the load on
the underlying I/O system and avoids writing short-lived files. The pa-
pers on trickle-sync tend to favor aging based on buffers rather than
files. However, BSD/OS synchronizes on file age rather than buffer age
because the data structures are much smaller as there are typically far
fewer files than buffers. Although this can make the I/O bursty when a
big file is written to disk, it is still much better than the wholesale
writes that were being done by the historic update process which wrote
all dirty data buffers every 30 seconds. It also adapts much better to
the soft update code which wants to control aging to improve performance
(inodes age in one third of vfs.generic.syncdelay seconds, directories in
one half of vfs.generic.syncdelay seconds). This ordering ensures that
most dependencies are gone (e.g., inodes are written when directory en-
tries want to go to disk) reducing the amount of work that the soft up-
date code needs to do.
SEE ALSOsync(2), fsck(8), sync(8), sysctl(8)HISTORY
An update command appeared in Version 6 AT&T UNIX. It was replaced by
the filesys_syncer process in BSD/OS 4.0.
BSDI BSD/OS April 19, 1994 1