This patch creates a throttle initialization function to maximize the code reusability. The same code is also used by fsdev.
Signed-off-by: Pradeep Jagadeesh <pradeep.jagade...@huawei.com> Reviewed-by: Alberto Garcia <be...@igalia.com> Reviewed-by: Greg Kurz <gr...@kaod.org> Acked-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- hmp.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/hmp.c b/hmp.c index cd046c6..acaf0e6 100644 --- a/hmp.c +++ b/hmp.c @@ -1752,20 +1752,28 @@ void hmp_change(Monitor *mon, const QDict *qdict) hmp_handle_error(mon, &err); } +static void hmp_initialize_throttle_limits(ThrottleLimits *iot, + const QDict *qdict) +{ + iot->bps_total = qdict_get_int(qdict, "bps"); + iot->bps_read = qdict_get_int(qdict, "bps_rd"); + iot->bps_write = qdict_get_int(qdict, "bps_wr"); + iot->iops_total = qdict_get_int(qdict, "iops"); + iot->iops_read = qdict_get_int(qdict, "iops_rd"); + iot->iops_write = qdict_get_int(qdict, "iops_wr"); +} + void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict) { Error *err = NULL; + ThrottleLimits *tlimits; BlockIOThrottle throttle = { .has_device = true, .device = (char *) qdict_get_str(qdict, "device"), - .bps = qdict_get_int(qdict, "bps"), - .bps_rd = qdict_get_int(qdict, "bps_rd"), - .bps_wr = qdict_get_int(qdict, "bps_wr"), - .iops = qdict_get_int(qdict, "iops"), - .iops_rd = qdict_get_int(qdict, "iops_rd"), - .iops_wr = qdict_get_int(qdict, "iops_wr"), }; + tlimits = qapi_BlockIOThrottle_base(&throttle); + hmp_initialize_throttle_limits(tlimits, qdict); qmp_block_set_io_throttle(&throttle, &err); hmp_handle_error(mon, &err); } -- 1.8.3.1