On Thu, 2009-04-02 at 12:18 +0200, Wolfgang.Friebel@desy.de wrote:
I made several experiments with quota settings and userdb while mail_debug was on. Here are my findings:
After changing /etc/userdb and modifying my userdb_quota_rule=*:storage=200M with an editor the IMAP GETQUOTAROOT does immediately report the changed value. The ~user/Maildir/maildirsize content does however not change and according to the maillog output the quota calculation is done based on the contents of that file.
The limits in maildirsize file are ignored by Dovecot as long as you defined quota_rules. So don't bother looking at them.
If I do delete that file after changing the contents of the users INBOX the file gets regenerated with the contents from the quota rule (i.e. 900MB, see below) and not with the value from the userdb (200M)
Then it means that Dovecot didn't see the userdb_quota_rule for some reason. Do you mean here that deliver didn't regenerate it correctly?
If then I do another IMAP GETQUOTAROOT the correct value is reported again (200M) and the contents of ~user/Maildir/maildirsize is changed to that value as well.
It's again beginning to sound like deliver isn't doing a userdb lookup and getting the userdb_quota_rule.
This is however not the only finding. I manipulated further my userdb quota and did set it to 90MB. Shortly after that another user (Quota 900MB) received a mail. The debug output for that mail delivery:
dovecot: deliver(user2): Quota warning: bytes=89653 2480 (95%)...
indicates that my settings were used instead for quota calculation.
So wrong user's userdb_quota_rule was used? That doesn't really make any sense..