'DataFileBufferSize'' ''''


Buffered I/O df size V8.10 and later

It is possible to buffer df files in memory[16] and not flush those files to disk until they exceed a specified size, or until they are required to be placed on stable storage by the standards. That maximum buffered size is specified with this DataFileBufferSize option. It is declared like this:

[16] With V8.10 and V8.11, this option could be used only on systems that defined the confSTDIOTYPE build macro (confSTDIOTYPE) as torek.

O DataFileBufferSize=size               configuration file (V8.10 and later) 
-ODataFileBufferSize=size               command line (V8.10 and later) 
define(`confDF_BUFFER_SIZE',size)       mc configuration (V8.10 and later) 

Here, size is of type numeric. If size is less than or equal to zero, no buffering is performed (all df files are immediately placed on disk when opened). When size is greater than zero, all df files are held in memory (not placed on disk when opened) until closed, until the amount of data buffered exceeds size, or until they are required to be placed on stable storage by the standards. Only then is the file created and placed on disk.

Buffered file I/O is beneficial when high rates of outbound mail are desired because disk I/O is generally very expensive.

If the DataFileBufferSize option is not declared, the default for the mc configuration file is to omit this option. If the size is omitted, the default becomes 4096 bytes.

See also the SuperSafe option (SuperSafe) and the ${opMode} macro (${opMode}), as they can interact with this option.

The DataFileBufferSize option is not safe. If specified from the command line, it can cause sendmail to relinquish its special privileges.

    Part I: Build and Install
    Part II: Administration
    Part III: The Configuration File
    Chapter 21. The D (Define a Macro) Configuration Command
    Chapter 24. The O (Options) Configuration Command