Browse Source

throttle: Make throttle_max_is_missing_limit() set errp

The caller does not need to set it, and this will allow us to refactor
this function later.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
pull/36/head
Alberto Garcia 11 years ago
committed by Kevin Wolf
parent
commit
45b2d418e0
  1. 4
      blockdev.c
  2. 2
      include/qemu/throttle.h
  3. 6
      tests/test-throttle.c
  4. 5
      util/throttle.c

4
blockdev.c

@ -355,9 +355,7 @@ static bool check_throttle_config(ThrottleConfig *cfg, Error **errp)
return false;
}
if (throttle_max_is_missing_limit(cfg)) {
error_setg(errp, "bps_max/iops_max require corresponding"
" bps/iops values");
if (throttle_max_is_missing_limit(cfg, errp)) {
return false;
}

2
include/qemu/throttle.h

@ -110,7 +110,7 @@ bool throttle_conflicting(ThrottleConfig *cfg, Error **errp);
bool throttle_is_valid(ThrottleConfig *cfg);
bool throttle_max_is_missing_limit(ThrottleConfig *cfg);
bool throttle_max_is_missing_limit(ThrottleConfig *cfg, Error **errp);
void throttle_config(ThrottleState *ts,
ThrottleTimers *tt,

6
tests/test-throttle.c

@ -338,15 +338,15 @@ static void test_max_is_missing_limit(void)
memset(&cfg, 0, sizeof(cfg));
cfg.buckets[i].max = 100;
cfg.buckets[i].avg = 0;
g_assert(throttle_max_is_missing_limit(&cfg));
g_assert(throttle_max_is_missing_limit(&cfg, NULL));
cfg.buckets[i].max = 0;
cfg.buckets[i].avg = 0;
g_assert(!throttle_max_is_missing_limit(&cfg));
g_assert(!throttle_max_is_missing_limit(&cfg, NULL));
cfg.buckets[i].max = 0;
cfg.buckets[i].avg = 100;
g_assert(!throttle_max_is_missing_limit(&cfg));
g_assert(!throttle_max_is_missing_limit(&cfg, NULL));
}
}

5
util/throttle.c

@ -306,13 +306,16 @@ bool throttle_is_valid(ThrottleConfig *cfg)
/* check if bps_max/iops_max is used without bps/iops
* @cfg: the throttling configuration to inspect
* @errp: error object
*/
bool throttle_max_is_missing_limit(ThrottleConfig *cfg)
bool throttle_max_is_missing_limit(ThrottleConfig *cfg, Error **errp)
{
int i;
for (i = 0; i < BUCKETS_COUNT; i++) {
if (cfg->buckets[i].max && !cfg->buckets[i].avg) {
error_setg(errp, "bps_max/iops_max require corresponding"
" bps/iops values");
return true;
}
}

Loading…
Cancel
Save