aboutsummaryrefslogtreecommitdiff
path: root/util/throttle.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-06-01 17:40:31 -0700
committerStefan Hajnoczi <stefanha@redhat.com>2016-06-07 14:40:51 +0100
commit8860eabdee32f78d9a34273a340b8f74476bc9a0 (patch)
treea16f9e8cd15be4e1f337c7bcbcfd874db06f1e8e /util/throttle.c
parentc8a9fd80719e63615dac12e3625223fb54aa8430 (diff)
throttle: refuse iops-size without iops-total/read/write
In a similar vein to commit ee2bdc33c913b7d765baa5aa338c29fb30a05c9a ("throttle: refuse bps_max/iops_max without bps/iops") it is likely that the user made a configuration error if iops-size has been set but no iops limit has been set. Print an error message so the user can check their throttling configuration. They should either remove iops-size if they don't want any throttling or specify one of iops-total, iops-read, or iops-write. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Message-id: 1464828031-25601-1-git-send-email-stefanha@redhat.com
Diffstat (limited to 'util/throttle.c')
-rw-r--r--util/throttle.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/util/throttle.c b/util/throttle.c
index 71246b2343..654f95caf2 100644
--- a/util/throttle.c
+++ b/util/throttle.c
@@ -315,6 +315,14 @@ bool throttle_is_valid(ThrottleConfig *cfg, Error **errp)
return false;
}
+ if (cfg->op_size &&
+ !cfg->buckets[THROTTLE_OPS_TOTAL].avg &&
+ !cfg->buckets[THROTTLE_OPS_READ].avg &&
+ !cfg->buckets[THROTTLE_OPS_WRITE].avg) {
+ error_setg(errp, "iops size requires an iops value to be set");
+ return false;
+ }
+
for (i = 0; i < BUCKETS_COUNT; i++) {
if (cfg->buckets[i].avg < 0 ||
cfg->buckets[i].max < 0 ||