2.4.10 and problem with quota

Bron Gondwana brong at fastmail.fm
Fri Jul 8 07:24:00 EDT 2011


On Fri, 08 Jul 2011 09:59:09 +0200, Eero Hänninen <fax at nohik.ee> wrote:

> Hi..
>
> Just routine mailbox checks after upgrade to cyrus-imap 2.4.10 I
> discovered, that some mailboxes doesn't have quotaroot, and its not
> possible to set.
> I run manually quota -f and re-set quota, but nothing is changed. I
> noticed that quota -f outputs some other user quota too (in out system
> elvisp and elvispiia are different users).
> Telnet sessions outputs are before and after quota -f same.
>
> Ok some techincal details and outputs:
> OS: Debian Squeeze Linux 6.0.2 64bit
> Cyrus package: manually self compiled 2.4.10
> Nothing related in logs (should I run it in debug mode?)
>
> Quota related imap.conf entries:
> autocreatequota: 10000
> quota_db: quotalegacy
> lmtp_over_quota_perm_failure: 1
>
> quota -f output:
> cyrus at mh17 ~# /usr/lib64/cyrus/bin/quota -f user.elvisp
> user.elvisp: quota root (none) -->
> user.elvisp.Kaitse Liit: quota root (none) -->
> user.elvisp.Kool: quota root (none) -->
> user.elvisp.Mustandid: quota root (none) -->
> user.elvisp.Praht: quota root (none) -->
> user.elvisp.Prygikast: quota root (none) -->
> user.elvisp.Saadetud: quota root (none) -->
> user.elvisp.Sait: quota root (none) -->
>     Quota   % Used     Used Root
>     10000       81     8173
>     10000        1      109 user.elvispiia
>
> cyrus at mh17 ~# telnet mh17 143
> Trying 10.0.0.117...
> Connected to mh17.
> Escape character is '^]'.
> * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=PLAIN SASL-IR] mh17
> Cyrus IMAP v2.4.10-Debian-2.4.10-1 server ready
> 1 login **** ******
> 1 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxte QUOTA
> MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN
> MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SORT SORT=MODSEQ
> SORT=DISPLAY THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE
> LIST-EXTENDED WITHIN QRESYNC SCAN XLIST URLAUTH URLAUTH=BINARY
> LOGINDISABLED COMPRESS=DEFLATE IDLE] User logged in
> SESSIONID=<cyrus-13750-1310109428-1>
> 2 GETQUOTA user.elvisp
> * QUOTA user.elvisp (STORAGE 8173 10000)
> 2 OK Completed
> 3 GETQUOTAROOT user.elvisp
> * QUOTAROOT user.elvisp
> 3 OK Completed
> 4 SETQUOTA user.elvisp (STORAGE 10000)
> 4 OK Completed
> 5 GETQUOTAROOT user.elvisp
> * QUOTAROOT user.elvisp
> 5 OK Completed
> 6 GETQUOTA user.elvisp
> * QUOTA user.elvisp (STORAGE 8173 10000)
> 6 OK Completed
>
> Is it bug or just corrupted data or some kind misconfiguration, or is
> it better use skiplist as quota data holder ?

Ok - almost certainly a danger of using "-f" on two different databases
that work differently.  This would work correctly on skiplist, but the
other solution is just to run quota -f for your entire server, which will
work correctly.

Sorry about that - you really will have to do that now to get things back
to their correct values.

I will write a unit test that looks for this case.  Feel free to put this
same report in Bugzilla to get the kudos for reporting and a mention in
the next release notes :)

Bron.


More information about the Info-cyrus mailing list