The
sendmail program can temporarily fail incoming
mail messages if they are too large for the queueing disk. This
ability is enabled by giving a positive, non-zero size to the
MinFreeBlocks option (See this section). The method sendmail
uses to measure the free space on a disk varies from system to
system. This SFS_TYPE compile-time macro defines which of several
methods sendmail will use. Those available are
shown in Table 3-11.
Table 3-11. Method to determine free disk space
SFS_NONE
|
Your system has no way to determine the free space on a disk. This
causes the MinFreeBlocks option (MinFreeBlocks) to be ignored.
|
SFS_USTAT
|
Your system uses the ustat(2) system call to get
information about mounted filesystems.
|
SFS_4ARGS
|
Your system uses the four-argument form of the
statfs(2) system call and
<sys/statfs.h>. If you define this, you
can also define SFS_BAVAIL as the field name for the
statfs C-language structure (by default,
f_bavail).
|
SFS_VFS
|
Your system uses the two-argument form of the
statfs(2) system call and
<sys/vfs.h>.
|
SFS_MOUNT
|
Your system uses the two-argument form of the
statfs(2) system call and
<sys/mount.h>.
|
SFS_STATFS
|
Your system uses the two-argument form of the
statfs(2) system call and
<sys/statfs.h>.
|
SFS_STATVFS
|
Your system uses the statvfs(2) system call.
|
In general, SFS_TYPE is correctly defined for all supported systems.
You should need to modify it only if you are porting to a new system.
To do so, you will need to edit sendmail/conf.h
(include/sm/conf.h beginning with V8.12).
You can use the -d4.80 debugging switch (-d4.80) to watch sendmail check
for enough disk space. The only way to tell whether a precompiled
version of sendmail has this ability is by
setting the MinFreeBlocks option to a positive
value and watching the -d4.80 output. If
bavail= in that output is always
-1, no matter what, your support was defined as
SFS_NONE.
New ports should be reported to
sendmail@sendmail.org so that they can be folded
into future releases.