Skip to content

Commit

Permalink
quota: quota_root_iter_next() - Iterate all visible roots
Browse files Browse the repository at this point in the history
Don't try to skip the roots that don't have an active quota. imap_quota
plugin does the skipping now itself, and quota_clone shouldn't really be
even used with more than one quota root.
  • Loading branch information
sirainen authored and villesavolainen committed Jun 13, 2017
1 parent 27456d2 commit f0a71cb
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 22 deletions.
3 changes: 0 additions & 3 deletions src/plugins/quota/quota-private.h
Expand Up @@ -125,9 +125,6 @@ struct quota_root {
may change these by reading the limits elsewhere (e.g. Maildir++,
FS quota) */
int64_t bytes_limit, count_limit;
/* 1 = quota root has resources and should be returned when iterating
quota roots, 0 = not, -1 = unknown. */
int resource_ret;

/* Module-specific contexts. See quota_module_id. */
ARRAY(void) quota_module_contexts;
Expand Down
21 changes: 2 additions & 19 deletions src/plugins/quota/quota.c
Expand Up @@ -398,7 +398,6 @@ quota_root_init(struct quota_root_settings *root_set, struct quota *quota,
struct quota_root *root;

root = root_set->backend->v.alloc();
root->resource_ret = -1;
root->pool = pool_alloconly_create("quota root", 512);
root->set = root_set;
root->quota = quota;
Expand Down Expand Up @@ -683,8 +682,6 @@ struct quota_root *quota_root_iter_next(struct quota_root_iter *iter)
{
struct quota_root *const *roots, *root = NULL;
unsigned int count;
uint64_t value, limit;
int ret;

if (iter->quota == NULL)
return NULL;
Expand All @@ -697,22 +694,8 @@ struct quota_root *quota_root_iter_next(struct quota_root_iter *iter)
if (!quota_root_is_visible(roots[iter->i], iter->box, FALSE))
continue;

ret = roots[iter->i]->resource_ret;
if (ret == -1) {
ret = quota_get_resource(roots[iter->i], "",
QUOTA_NAME_STORAGE_KILOBYTES,
&value, &limit);
}
if (ret == 0) {
ret = quota_get_resource(roots[iter->i], "",
QUOTA_NAME_MESSAGES,
&value, &limit);
}
roots[iter->i]->resource_ret = ret;
if (ret > 0) {
root = roots[iter->i];
break;
}
root = roots[iter->i];
break;
}

iter->i++;
Expand Down

0 comments on commit f0a71cb

Please sign in to comment.