From: Timo Sirainen Date: Wed, 4 Aug 2010 15:02:54 +0000 (+0100) Subject: quota-maildir: Avoid leaving maildirsize deleted when quota recalculation is wanted. X-Git-Tag: 2.0.rc4~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b694893eb825c0e1cb4bec008fbf642311894c1a;p=thirdparty%2Fdovecot%2Fcore.git quota-maildir: Avoid leaving maildirsize deleted when quota recalculation is wanted. --- diff --git a/src/plugins/quota/quota-maildir.c b/src/plugins/quota/quota-maildir.c index 9f66a1ba3c..41693a0d68 100644 --- a/src/plugins/quota/quota-maildir.c +++ b/src/plugins/quota/quota-maildir.c @@ -851,9 +851,13 @@ maildir_quota_update(struct quota_root *_root, if (recalculated) { /* quota was just recalculated and it already contains the changes we wanted to do. */ - } else if (root->fd == -1 || ctx->recalculate) - maildirsize_rebuild_later(root); - else if (maildirsize_update(root, ctx->count_used, ctx->bytes_used) < 0) + } else if (root->fd == -1) + (void)maildirsize_recalculate(root); + else if (ctx->recalculate) { + (void)close(root->fd); + root->fd = -1; + (void)maildirsize_recalculate(root); + } else if (maildirsize_update(root, ctx->count_used, ctx->bytes_used) < 0) maildirsize_rebuild_later(root); return 0;