MAILDIRQUOTA(7) MAILDIRQUOTA(7)
NAME
maildirquota - voluntary Maildir quotas
SYNOPSIS
maildirmake -q 10000000S ./Maildir
DESCRIPTION
maildrop has an experimental quota(1,8) enforcement implementation. This is
an option that is set(7,n,1 builtins) at configuration time(1,2,n), and may be disabled.
Filesystem-based quotas should be used whenever possible. However
filesystem-based quotas cannot be used in(1,8) some situations, such as vir-
tual(5,8) mailboxes. If this experimental feature is enabled, approximate
quota(1,8) enforcement can be implemented by maildrop or deliverquota to
whatever extent it's possible to do so. Quotas are enabled by the -q
option to maildirmake. Both maildrop and deliverquota will observe any
maildirmake-requested quota.
LIMITATIONS
This quota(1,8) mechanism will only work as long as maildrop (or deliv-
erquota) are the only applications that deliver messages to the
maildir(1,5), or as long as other applications implement the same quota(1,8)
enforcement mechanism. The quota(1,8) enforcement mechanism is described
separately in(1,8) the README.maildirquota.html file(1,n) in(1,8) the source code dis-
tribution.
Quota enforcement will still work, to some extent, if(3,n) there are other
applications that deliver or modify messages in(1,8) the maildir. However,
quota(1,8) enforcement may not kick in(1,8) immediately when the maildir(1,5) goes
over quota(1,8), in(1,8) fact the maildir(1,5) can go over quota(1,8) by a noticeable
amount. But eventually, as long as maildrop or deliverquota are
responsible for delivering the majority of messages, quota(1,8) enforcement
will kick in. Also, other sources of messages may also result in(1,8)
noticeable performance degradation, because quote recalculation will
become noticeably more expensive.
Also keep in(1,8) mind that this quota(1,8) mechanism is generally useless if(3,n)
mail(1,8) recipients have direct access(2,5) to their maildirs.
Finally even under the best conditions this quota(1,8) enforcement does have
a small chance of a race condition where a maildir(1,5) will go over quota(1,8)
by some amount. maildirs are designed for speed, and this quota(1,8) imple-
mentation was designed to have as little additional overhead as possi-
ble, compared to regular maildirs. To enforce an exact quota(1,8) you would
have to use some kind of a locking facility, which will impose a dras-
tic performance degradation on the overall maildir(1,5) performance. A
decision has been made to avoid locking, with the only negative side
effect being a possibility of going over quota(1,8) in(1,8) very low probability
situations.
A way to minimize the risk of going over quota(1,8) is to set(7,n,1 builtins) reasonable
quotas, in(1,8) relation to maximum message sizes supported by your mail(1,8)
server. If you set(7,n,1 builtins) your maildir(1,5) quota(1,8) to five megabytes, for example,
it makes very little sense to configure your mail(1,8) server to accept(2,8) mes-
sages up to three megabytes long. Your maildir(1,5) quota(1,8) should be chosen
so that it makes sense when compared to the maximum message size
allowed by your mail(1,8) server.
FOLDERS
This quota(1,8) implementation is compatible with a popular extension to
maildir(1,5) which defines individual mail(1,8) folders within a single maildir.
However, in(1,8) order to create a compatible folder, you MUST use the
maildirmake command that comes with maildrop, and you MUST use the -f
option to maildirmake, giving the name of the folder. Do not use
maildirmake and specify the directory name of the maildir(1,5) folder.
Quota enforcement will not work if(3,n) you do that.
SEE ALSO
maildrop(1), maildirmake(1), maildropfilter(5), deliverquota(8).
Double Precision, Inc. 19 February 2004 MAILDIRQUOTA(7)