On 04/20/2011 05:26 PM, Sven Hartge wrote:
Papp Tamas<tom...@martos.bme.hu> wrote:
On 04/20/2011 01:47 PM, Sven Hartge wrote:
"du" also accounts for the metadata of the filesystem. With Maildir++
you have many files per directory which causes the directory inode to
increase in size. After mails are deleted, the now empty space inside
the directory is not reclaimed (at least not in ext2/3/4, I guess, XFS
behaves the same) and you see a difference in size, since dovecot only
counts the raw size of the mails.
You can test this for yourself: create a directory, place a 100M big
file inside and check with "du". Then delete that file, create 10,000
files with 10KB size inside, check with "du", delete the files and check
again.
Thank you for your prompt answer.
Why does dovecot count only the raw size? Does this mean, dict quota is
not usable with maildirs? Is this true for sdbox also?
In addition to the answer from Timo:
Counting all meta-data is also very unintuitive for the user. Imagine a
user with an INBOX containing 200,000 mails. This will result in a
_huge_ directory inode for the INBOX folder (about 20MB for XFS). Now he
deletes all those mails and expects a quota usage of 0 bytes. But the
quota is still at 20MB, because the directory inode has not been reduced
by the filesystem.
I guarantee you, you will get numerous support calls.
At least I got them while using filesystem-based quotas.
I'm sorry for the late response.
So, there is no exact or something closer solution with normal maildirs?
Thank you,
tamas