From: Timo Sirainen Date: Tue, 9 Mar 2021 14:49:12 +0000 (+0200) Subject: quota: Replace mailbox_set_reason() with reason_code=quota:recalculate and quota... X-Git-Tag: 2.3.18~339 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=459f9eeeac8118ce259b5cea03b534c559895e87;p=thirdparty%2Fdovecot%2Fcore.git quota: Replace mailbox_set_reason() with reason_code=quota:recalculate and quota:count --- diff --git a/src/plugins/quota/quota-count.c b/src/plugins/quota/quota-count.c index cb869fc639..00e25e6b6c 100644 --- a/src/plugins/quota/quota-count.c +++ b/src/plugins/quota/quota-count.c @@ -44,7 +44,6 @@ quota_count_mailbox(struct quota_root *root, struct mail_namespace *ns, } box = mailbox_alloc(ns->list, vname, MAILBOX_FLAG_READONLY); - mailbox_set_reason(box, "quota count"); if ((box->storage->class_flags & MAIL_STORAGE_CLASS_FLAG_NOQUOTA) != 0) { /* quota doesn't exist for this mailbox/storage */ ret = 0; @@ -178,6 +177,8 @@ int quota_count(struct quota_root *root, uint64_t *bytes_r, uint64_t *count_r, return 0; root->recounting = TRUE; + struct event_reason *reason = event_reason_begin("quota:count"); + iter = quota_mailbox_iter_begin(root); while ((info = quota_mailbox_iter_next(iter)) != NULL) { if (quota_count_mailbox(root, info->ns, info->vname, @@ -196,6 +197,7 @@ int quota_count(struct quota_root *root, uint64_t *bytes_r, uint64_t *count_r, *error1 != '\0' && *error2 != '\0' ? " and " : ""; *error_r = t_strconcat(error1, separator, error2, NULL); } + event_reason_end(&reason); root->recounting = FALSE; return ret; } @@ -340,16 +342,18 @@ static int quota_count_recalculate_box(struct mailbox *box, static int quota_count_recalculate(struct quota_root *root, const char **error_r) { + struct event_reason *reason; struct quota_mailbox_iter *iter; const struct mailbox_info *info; struct mailbox *box; int ret = 0; const char *error1 = "", *error2 = ""; + reason = event_reason_begin("quota:recalculate"); + iter = quota_mailbox_iter_begin(root); while ((info = quota_mailbox_iter_next(iter)) != NULL) { box = mailbox_alloc(info->ns->list, info->vname, 0); - mailbox_set_reason(box, "quota recalculate"); if (quota_count_recalculate_box(box, &error1) < 0) ret = -1; mailbox_free(&box); @@ -363,6 +367,7 @@ static int quota_count_recalculate(struct quota_root *root, "quota-count: recalculate failed: %s%s%s", error1, separator, error2); } + event_reason_end(&reason); return ret; } diff --git a/src/plugins/quota/quota-dict.c b/src/plugins/quota/quota-dict.c index a22c774a2a..02e444a345 100644 --- a/src/plugins/quota/quota-dict.c +++ b/src/plugins/quota/quota-dict.c @@ -109,11 +109,15 @@ dict_quota_count(struct dict_quota_root *root, const char **error_r) { struct dict_transaction_context *dt; + struct event_reason *reason; uint64_t bytes, count; enum quota_get_result error_res; const struct dict_op_settings *set; - if (quota_count(&root->root, &bytes, &count, &error_res, error_r) < 0) + reason = event_reason_begin("quota:recalculate"); + int ret = quota_count(&root->root, &bytes, &count, &error_res, error_r); + event_reason_end(&reason); + if (ret < 0) return error_res; set = mail_user_get_dict_op_settings(root->root.quota->user); diff --git a/src/plugins/quota/quota-maildir.c b/src/plugins/quota/quota-maildir.c index ab12beebd7..f4fd3a7979 100644 --- a/src/plugins/quota/quota-maildir.c +++ b/src/plugins/quota/quota-maildir.c @@ -385,9 +385,11 @@ static int maildirsize_recalculate(struct maildir_quota_root *root, const char **error_r) { struct mail_namespace *const *namespaces; + struct event_reason *reason; unsigned int i, count; int ret = 0; + reason = event_reason_begin("quota:recalculate"); maildirsize_recalculate_init(root); /* count mails from all namespaces */ @@ -417,7 +419,9 @@ static int maildirsize_recalculate(struct maildir_quota_root *root, } } - return maildirsize_recalculate_finish(root, ret, error_r); + ret = maildirsize_recalculate_finish(root, ret, error_r); + event_reason_end(&reason); + return ret; } static bool