Peter Fern wrote:
Luckily i don't have any users with unlimited quota so i did not ran in to this problem but, is there any solution to solve this in the (My)SQL query? You could use an IF statement in your SQL query to return NULL if = 0, like:
IF(mailbox.quota = 0, NULL, ROUND( mailbox.quota / 1024 ) )) AS quota Okay Thanks Peter!
In the meantime I found out that the quota with dirsize and the above solution to have a per user quota is causing extraordinary performance problems. I know I know :) it is mentioned in the Wiki that it's a little bit slower and probably the configuration of my server won't help too:
Sun Enterprice 250 UltraSparc-II Processor (400.00 MHz CPU) 512 MB RAM (4 disk) software raid5 for data storage
But hey, Courier-IMAP here outperforms Dovecot and that's not what I was looking for ;-)
So i'm looking for the fastest alternative to dirsize that still allows me to have my per-user quota. I think that the quota dict is what i'm looking for. The problem is that i am not sure if i can use it without making use of the dovecot LDA. As I am not using the dovecot LDA nor planning to use it as i'm happy with my current LDA (postfix's).
I really am sorry for making this question as i know it might sound quite dumb for all the experienced Dovecot users but all I found the functioning of dict is this:
---->8---- The /dictionary/ quota backend supports both *storage* and *messages* quota limits. The current quota is kept in a dictionary. Currently (as of 1.0.beta9 and later), the only supported dictionary backend is MySQL. ---->8---- Source: http://wiki.dovecot.org/Quota/Dict
Peter