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:
Alberto Garcia 2017-08-24 16:24:45 +03:00 committed by Stefan Hajnoczi
parent 0770a7a646
commit fa36f1b2eb
1 changed files with 7 additions and 8 deletions

View File

@ -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;
}