d line

Data file directory V8.12 and later

Beginning with V8.12 sendmail, it is possible to split envelopes for more efficient delivery. When sendmail splits an envelope, the new qf file will share a df file with the prior qf file. But to ensure that each qf file has it own df file, sendmail creates a hard link to make a copy of the df file. That way, the old qf file uses the old df file, and the new qf file uses the new df file. The two df files are the same because they are hard-linked together.

A problem arises when the two qf files are saved on two different disks. Because it is not possible to hard-link across disks, the new qf file is put on the new disk, but the new df file is left on the old disk. That way, an efficient hard link can still be made, but now the new qf file and its new df file are on different disks.

The d qf-file line was introduced to allow a qf file to find its corresponding df file when that df file is on a different disk. Whenever a qf file has a corresponding df file on a different disk, that qf file will contain a d line that looks like this:

d/path

The /path must be the full pathname of the directory that contains the df part. If /path is missing, or is not a directory that was set in the configuration file, the following error is logged and the qf file is considered bad, and marked as such (Bogus qf Files on page 419):

Losing qf file: bogus queue file directory

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.