}
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;
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,
*error1 != '\0' && *error2 != '\0' ? " and " : "";
*error_r = t_strconcat(error1, separator, error2, NULL);
}
+ event_reason_end(&reason);
root->recounting = FALSE;
return ret;
}
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);
"quota-count: recalculate failed: %s%s%s",
error1, separator, error2);
}
+ event_reason_end(&reason);
return ret;
}
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);
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 */
}
}
- return maildirsize_recalculate_finish(root, ret, error_r);
+ ret = maildirsize_recalculate_finish(root, ret, error_r);
+ event_reason_end(&reason);
+ return ret;
}
static bool