bool quota_root_is_over(struct quota_transaction_context *ctx,
struct quota_transaction_root_context *root,
uoff_t count_alloc, uoff_t bytes_alloc,
+ uoff_t count_expunged, uoff_t bytes_expunged,
uoff_t *count_overrun_r, uoff_t *bytes_overrun_r);
void quota_transaction_root_expunged(
bool quota_root_is_over(struct quota_transaction_context *ctx,
struct quota_transaction_root_context *root,
uoff_t count_alloc, uoff_t bytes_alloc,
+ uoff_t count_expunged, uoff_t bytes_expunged,
uoff_t *count_overrun_r, uoff_t *bytes_overrun_r)
{
int64_t count_used = ctx->count_used;
quota_used_apply_expunged(&count_used, root->count_expunged);
quota_used_apply_expunged(&bytes_used, root->bytes_expunged);
+ quota_used_apply_expunged(&count_used, count_expunged);
+ quota_used_apply_expunged(&bytes_used, bytes_expunged);
return (quota_is_over(count_alloc, count_used,
root->count_ceil, root->count_over,
}
i_zero(&overrun);
- if (quota_root_is_over(ctx, &ctx->roots[i], 1, size,
+ if (quota_root_is_over(ctx, &ctx->roots[i], 1, size, 0, 0,
&overrun.resource.count,
&overrun.resource.bytes)) {
overrun.root = roots[i];