Postfix and NFS

-------------------------------------------------------------------------------
This question was asked on the postfix-users mailing list a while ago:

    Also, what considerations are there for file locking or other potential
    problems when running Postfix with a Netapp-style box for /var/mail
    delivery? I know that FreeBSD has broken NFS file locking (both client and
    server?) but I'm not sure if this is something Postfix can work around or
    not.

Postfix jumps several hoops in order to deal with NFS-specific problems. Thus,
Postfix on NFS is slightly less reliable than Postfix on a local disk. That is
not a problem in Postfix; the problem is in NFS and affects other MTAs as well.

For queue locking within Postfix, NFS is not an issue because you cannot share
Postfix queues among multiple Postfix instances.

In order to have mailbox locking over NFS, you have to configure everything to
use fcntl() locks for mailbox access (or switch to maildir style, which needs
no application-level lock controls).

To turn on fcntl() mailbox locks with Postfix you specify:

    /etc/postfix/main.cf:
        virtual_mailbox_lock = fcntl
        mailbox_delivery_lock = fcntl

Obviously, this approach is useful only if all other mailbox access software
also uses fcntl() locks.

You can also "play safe" and throw in username.lock files:

    /etc/postfix/main.cf:
        virtual_mailbox_lock = fcntl, dotlock
        mailbox_delivery_lock = fcntl, dotlock

This is the combination that many applications end up using.

