From e7e2bbdc94b6e711ac92373e2047e5349b7123a5 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 25 Jul 2018 15:48:09 +0200 Subject: [PATCH] qemu: monitor: Reuse qemuMonitorJSONQueryBlock in qemuMonitorJSONBlockIoThrottleInfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wrapper executes the command and does error detection so there's no need to open-code all of those things. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_monitor_json.c | 37 +++++------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index debe62001c..b96b521563 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4817,21 +4817,14 @@ int qemuMonitorJSONOpenGraphics(qemuMonitorPtr mon, goto cleanup; \ } static int -qemuMonitorJSONBlockIoThrottleInfo(virJSONValuePtr result, +qemuMonitorJSONBlockIoThrottleInfo(virJSONValuePtr io_throttle, const char *device, virDomainBlockIoTuneInfoPtr reply) { - virJSONValuePtr io_throttle; int ret = -1; size_t i; bool found = false; - if (!(io_throttle = virJSONValueObjectGetArray(result, "return"))) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _(" block_io_throttle reply was missing device list")); - goto cleanup; - } - for (i = 0; i < virJSONValueArraySize(io_throttle); i++) { virJSONValuePtr temp_dev = virJSONValueArrayGet(io_throttle, i); virJSONValuePtr inserted; @@ -5001,33 +4994,13 @@ int qemuMonitorJSONGetBlockIoThrottle(qemuMonitorPtr mon, virDomainBlockIoTuneInfoPtr reply) { int ret = -1; - virJSONValuePtr cmd = NULL; - virJSONValuePtr result = NULL; + virJSONValuePtr devices = NULL; - cmd = qemuMonitorJSONMakeCommand("query-block", NULL); - if (!cmd) + if (!(devices = qemuMonitorJSONQueryBlock(mon))) return -1; - if (qemuMonitorJSONCommand(mon, cmd, &result) < 0) - goto cleanup; - - if (virJSONValueObjectHasKey(result, "error")) { - if (qemuMonitorJSONHasError(result, "DeviceNotActive")) - virReportError(VIR_ERR_OPERATION_INVALID, - _("No active operation on device: %s"), device); - else if (qemuMonitorJSONHasError(result, "NotSupported")) - virReportError(VIR_ERR_OPERATION_INVALID, - _("Operation is not supported for device: %s"), device); - else - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("Unexpected error")); - goto cleanup; - } - - ret = qemuMonitorJSONBlockIoThrottleInfo(result, device, reply); - cleanup: - virJSONValueFree(cmd); - virJSONValueFree(result); + ret = qemuMonitorJSONBlockIoThrottleInfo(devices, device, reply); + virJSONValueFree(devices); return ret; } -- GitLab