On Wed, 4 Jul 2001, Derrick MacPherson wrote:
> In the gathered knowledge of you folks out there, is it better to implement
> quotas at the OS level, or the MTA?
it depends.
os-enforced quotas are exact. mta-enforced ones arent _that_ exact
(but imho the difference shouldn't matter in a mail environment).
mua-enforced quota _may_ take more resources. whether it does or does
not, largely depends on the mail storage format, too. also,
mua-enforced quota may be easier to set up esp. if you only have one
common uid for all your mailboxen (virtualhosting comes to mind,
right?:)
for mbox, it's pretty easy - you have one file, it has a size, end of
story.
for maildir, its somewhat more expensive as you have to stat() every
single file for the size. this _is_ expensive, esp. with large (read,
lots of files) mailboxes.
for maildir++, it's somewhat of a "middle way" - you readdir() and
have the file sizes appended to the file names, no need to stat() all
of them - just parse, which is cheaper, as we're always io-bound when
talking about mail delieries.
these are for size limits. for inode-like limits, its similar, with
appropriate changes applied to what is above.