On Thu, Nov 24, 2016 at 9:10 PM, Mark Moseley moseleymark@gmail.com wrote:
On Thu, Nov 24, 2016 at 10:52 AM, Timo Sirainen tss@iki.fi wrote:
On 24 Nov 2016, at 9.33, Mark Moseley moseleymark@gmail.com wrote:
On Wed, Nov 23, 2016 at 6:05 PM, Timo Sirainen tss@iki.fi wrote:
On 23 Nov 2016, at 0.49, Mark Moseley moseleymark@gmail.com wrote:
If I move messages between namespaces, it appears to ignore the quotas
I've
set on them. A *copy* will trigger the quota error. But a *move* just happily piles on to the overquota namespace. Is that normal?
Probably needs a bit more thinking, but I guess the attached patch
would
help.
I appreciate the patch! Esp on a Weds night. I applied and rerolled dovecot, but I can still move messages into the over-quota namespace.
How about this updated patch?
Nope, still lets me move messages into the over-quota namespace.
Both these are true in quota_check:
ctx->moving quota_move_requires_check
Out of curiosity, in the Quota wiki page, it mentions that 'in theory there could be e.g. "user quota" and "domain quota" roots'. That's also super interesting to me. Does anyone have any experience with that? I.e. any gotchas?
There's no automatic quota recalculation for domain quotas, because it would have to somehow sum up all the users' quotas. Also I think that it still does do the automatic quota recalculation if it gets into a situation where it realizes that quotas are wrong, but it'll then just use the single user's quota as the entire domain quota. So maybe it would work if you externally sum up all the users' quotas and update it to the domain quota in cronjob, e.g. once per hour. I guess it would be also nice if the internal quota recalculation could be disabled and maybe execute an external script to do it (similar to quota-warnings).
Anything else I can try? I'm not sure how the logic in the quota system works, so I'm not sure what to suggest. What's the gist of the patch (i.e. what's it trying to do that it wasn't before)?
If I can get a handle on that, I can start littering things with debug statements to try to track stuff down.