throttle: Make throttle_is_valid() a bit less verbose
Use a pointer to the bucket instead of repeating cfg->buckets[i] all the time. This makes the code more concise and will help us expand the checks later and save a few line breaks. Signed-off-by: Alberto Garcia <berto@igalia.com> Message-id: 763ffc40a26b17d54cf93f5a999e4656049fcf0c.1503580370.git.berto@igalia.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
0770a7a646
commit
fa36f1b2eb
@ -324,32 +324,31 @@ bool throttle_is_valid(ThrottleConfig *cfg, Error **errp)
|
||||
}
|
||||
|
||||
for (i = 0; i < BUCKETS_COUNT; i++) {
|
||||
if (cfg->buckets[i].avg < 0 ||
|
||||
cfg->buckets[i].max < 0 ||
|
||||
cfg->buckets[i].avg > THROTTLE_VALUE_MAX ||
|
||||
cfg->buckets[i].max > THROTTLE_VALUE_MAX) {
|
||||
LeakyBucket *bkt = &cfg->buckets[i];
|
||||
if (bkt->avg < 0 || bkt->max < 0 ||
|
||||
bkt->avg > THROTTLE_VALUE_MAX || bkt->max > THROTTLE_VALUE_MAX) {
|
||||
error_setg(errp, "bps/iops/max values must be within [0, %lld]",
|
||||
THROTTLE_VALUE_MAX);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!cfg->buckets[i].burst_length) {
|
||||
if (!bkt->burst_length) {
|
||||
error_setg(errp, "the burst length cannot be 0");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cfg->buckets[i].burst_length > 1 && !cfg->buckets[i].max) {
|
||||
if (bkt->burst_length > 1 && !bkt->max) {
|
||||
error_setg(errp, "burst length set without burst rate");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cfg->buckets[i].max && !cfg->buckets[i].avg) {
|
||||
if (bkt->max && !bkt->avg) {
|
||||
error_setg(errp, "bps_max/iops_max require corresponding"
|
||||
" bps/iops values");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (cfg->buckets[i].max && cfg->buckets[i].max < cfg->buckets[i].avg) {
|
||||
if (bkt->max && bkt->max < bkt->avg) {
|
||||
error_setg(errp, "bps_max/iops_max cannot be lower than bps/iops");
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user