bdflush(8)

NAME
bdflush - kernel daemon to flush dirty buffers back to disk.

SYNOPSIS
bdflush [opt]

DESCRIPTION
bdflush is used to start the kernel daemon to flush dirty buffers back to disk. The actual dirty work is in a kernel function, and bdflush actually forks a new process which then calls the kernel function that will never return. If you specify any options on the command line, bdflush instead will query the kernel for the current operating parameters which control flushing of dirty buffers. In principle you can tell the kernel to modify any one of these parameters, but bdflush.c is not yet intelligent enough to do this.

bdflush actually forks a second daemon as well, and this one acts like a more traditional update process, except that buffers are not considered ready to be written until they have aged a bit. The clock starts when the buffer is brelsed with the dirty bit set, and the buffer will not be written back until an interval passes. The interval is different for data buffers and for metadata buffers (like directories, bitmaps, indirect blocks, etc), and the current settings are displayed by bdflush when you run it with arguments on the command line. The defaults are 30 seconds for data buffers and 5 seconds for metadata buffers.

The two daemons are normally started in /etc/rc with one command:

/etc/update

Note that you need to have both daemons running because each one serves a different purpose.

AUTHOR
bdflush was written as a quick hack by Eric Youngdale <ericy@gnu.ai.mit.edu>. The main goal was to improve kernel performance by making the flushing of dirty buffers more intelligent, and add support for buffer clustering. Feel free to improve it.

BUGS
If there are, they are most likely in the kernel code.

FUTURE IMPROVEMENTS
Allow the user program to tell the kernel to change the operating parameters for bdflush. All that is needed is the user interface to bdflush.c - the kernel should be ready for this now.