On Wed, 2011-11-09 at 14:59 +0200, Adrian M wrote:> Hello list,
> I believe I found a bug with quota.
> The dovecot quota replies with incorrect values when the mailbox is above
2GB.
>
> du -ks returns 2005764bytes
>
> dovecot IMAP on the same user/directory:
> 1 getquotaroot inbox
> * QUOTAROOT "INBOX" "user"
> * QUOTA "user" (STORAGE 1096 2000000)* QUOTAROOT
"INBOX" "user"
> * QUOTA "user" (STORAGE 1096 2000000)
> 1 OK Getquotaroot completed.
So it wraps.
> dovecot.conf:
> dict {
> quotadict= mysql:/etc/dovecot/dovecot-dict-quota.conf
> }
> plugin {
> quota = dict:user::proxy::quotadict
> }
>
> dovecot-dict-quota.conf :
> user_query = SELECT '/home/%d/%n' as home,
'maildir:/home/%d/%n' as
> mail, 150 AS uid, 8 AS gid, CONCAT('*:bytes=', CAST(quota AS CHAR))
AS
> quota_rule FROM mailbox WHERE username = '%u' AND active =
'1'
This is dovecot-sql.conf, not dovecot-dict-quota.conf (or alternatively
you've named them in a "wrong" way).
Anyway, here's a guess: the quota is stored in mysql in "integer",
which
has a maximum value of 2 GB. Actually looks like Dovecot wiki pages also
use "integer". Replace that with "bigint" and recalculate
quota and it
should work.