Replace also throttle_group_compare() with throttle_group_get_name() Signed-off-by: Alberto Garcia <be...@igalia.com> --- block.c | 2 +- block/qapi.c | 5 +++++ block/throttle-groups.c | 14 ++++---------- hmp.c | 6 ++++-- include/block/throttle-groups.h | 2 +- qapi/block-core.json | 4 +++- 6 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/block.c b/block.c index 625f1c8..a53cb76 100644 --- a/block.c +++ b/block.c @@ -271,7 +271,7 @@ void bdrv_io_limits_update_group(BlockDriverState *bs, const char *group) } /* this bs is a part of the same group than the one we want */ - if (throttle_group_compare(bs->throttle_state, group)) { + if (!g_strcmp0(throttle_group_get_name(bs->throttle_state), group)) { return; } diff --git a/block/qapi.c b/block/qapi.c index 9ed3e68..3d61bab 100644 --- a/block/qapi.c +++ b/block/qapi.c @@ -64,9 +64,11 @@ BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs) if (bs->io_limits_enabled) { ThrottleConfig cfg; + char *group_name; throttle_group_lock(bs->throttle_state); throttle_get_config(bs->throttle_state, &cfg); + group_name = g_strdup(throttle_group_get_name(bs->throttle_state)); throttle_group_unlock(bs->throttle_state); info->bps = cfg.buckets[THROTTLE_BPS_TOTAL].avg; @@ -93,6 +95,9 @@ BlockDeviceInfo *bdrv_block_device_info(BlockDriverState *bs) info->has_iops_size = cfg.op_size; info->iops_size = cfg.op_size; + + info->has_group = true; + info->group = group_name; } info->write_threshold = bdrv_write_threshold_get(bs); diff --git a/block/throttle-groups.c b/block/throttle-groups.c index 399ae5e..98c0a5e 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -117,21 +117,15 @@ bool throttle_group_unref(ThrottleState *ts) return true; } -/* Compare a name with a given ThrottleState group name +/* Get the name from a ThrottleState's ThrottleGroup * * @ts: the throttle state whose group we are inspecting - * @name: the name to compare - * @ret: true if names are equal else false + * @ret: the name of the group */ -bool throttle_group_compare(ThrottleState *ts, const char *name) +const char *throttle_group_get_name(ThrottleState *ts) { ThrottleGroup *tg = container_of(ts, ThrottleGroup, ts); - - if (!name) { - return false; - } - - return !strcmp(name, tg->name); + return tg->name; } /* Register a BlockDriverState in the doubly linked list diff --git a/hmp.c b/hmp.c index 47663ce..ae3ef15 100644 --- a/hmp.c +++ b/hmp.c @@ -369,7 +369,8 @@ static void print_block_info(Monitor *mon, BlockInfo *info, " iops_max=%" PRId64 " iops_rd_max=%" PRId64 " iops_wr_max=%" PRId64 - " iops_size=%" PRId64 "\n", + " iops_size=%" PRId64 + " group=%s\n", inserted->bps, inserted->bps_rd, inserted->bps_wr, @@ -382,7 +383,8 @@ static void print_block_info(Monitor *mon, BlockInfo *info, inserted->iops_max, inserted->iops_rd_max, inserted->iops_wr_max, - inserted->iops_size); + inserted->iops_size, + inserted->group); } if (verbose) { diff --git a/include/block/throttle-groups.h b/include/block/throttle-groups.h index d000067..8f8d285 100644 --- a/include/block/throttle-groups.h +++ b/include/block/throttle-groups.h @@ -29,7 +29,7 @@ ThrottleState *throttle_group_incref(const char *name); bool throttle_group_unref(ThrottleState *ts); -bool throttle_group_compare(ThrottleState *ts, const char *name); +const char *throttle_group_get_name(ThrottleState *ts); void throttle_group_register_bs(ThrottleState *ts, BlockDriverState *bs); BlockDriverState *throttle_group_next_bs(BlockDriverState *bs); diff --git a/qapi/block-core.json b/qapi/block-core.json index 563b11f..5653924 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -255,6 +255,8 @@ # # @iops_size: #optional an I/O size in bytes (Since 1.7) # +# @group: #optional throttle group name (Since 2.3) +# # @cache: the cache mode used for the block device (since: 2.3) # # @write_threshold: configured write threshold for the device. @@ -274,7 +276,7 @@ '*bps_max': 'int', '*bps_rd_max': 'int', '*bps_wr_max': 'int', '*iops_max': 'int', '*iops_rd_max': 'int', '*iops_wr_max': 'int', - '*iops_size': 'int', 'cache': 'BlockdevCacheInfo', + '*iops_size': 'int', '*group': 'str', 'cache': 'BlockdevCacheInfo', 'write_threshold': 'int' } } ## -- 2.1.4