view doc/nfs.txt @ 1259:3be1497e09b9 HEAD

updated
author Timo Sirainen <tss@iki.fi>
date Wed, 26 Feb 2003 03:01:57 +0200
parents 3b1985cbc908
children c0ecdcaca2a6
line wrap: on
line source

Indexe files aren't really NFS safe, and they likely won't be made. You can
access the actual mailboxes via NFS, but place the indexes into local hard
disk (see mail-storage.txt).

 - .customflags and .subscriptions files require fcntl() locking currently.
   Many NFS servers don't support it, at least without a separate lockd
   daemon. I'll add optional support for .lock files later.

 - gethostname() must return different name for each IMAP server accessing
   a user's mailboxes

 - Clocks should be somewhat synchronized:
    - maildir: One minute difference is enough to have a small chance of
      new mail to get temporarily lost until more mail arrives.
    - One hour is enough to create a problem when two imap servers try to
      open the same mailbox at the same time.

If you _really_ wish to try using indexes via NFS:

 - Indexes are shared mmap()ed and we rely on noticing changes made by others.
   If your OS doesn't perform some magical mmap() updates (likely won't),
   you'll need to modify the code so that each index update will update
   sync_id in the header, and each time when index is accessed, the sync_id
   should be read(). If it has changed, the file has to be re-mmap()ed.

 - Indexes require fcntl() locking. .lock files would be pretty slow, but
   possible.

 - Modifylog uses fcntl() for figuring out when to delete the log file, and
   assumes that changing file locking between F_RDLCK / F_WRLCK is atomic
   (not sure if this is the case with all operating systems, I hope so).
   This anyway would be more difficult to change not to use fcntl().