Report the generic errors using the existing function so that we don't reimplement the same functionality multiple times.
Signed-off-by: Peter Krempa <pkre...@redhat.com> --- src/qemu/qemu_monitor_json.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 7bb3e85229..a361a0acd9 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4658,29 +4658,20 @@ qemuMonitorJSONGetAllBlockJobInfo(qemuMonitorPtr mon) static int -qemuMonitorJSONBlockJobError(virJSONValuePtr reply, - const char *cmd_name, +qemuMonitorJSONBlockJobError(virJSONValuePtr cmd, + virJSONValuePtr reply, const char *device) { virJSONValuePtr error; - if (!(error = virJSONValueObjectGet(reply, "error"))) - return 0; - - if (qemuMonitorJSONErrorIsClass(error, "DeviceNotActive")) { + if ((error = virJSONValueObjectGet(reply, "error")) && + (qemuMonitorJSONErrorIsClass(error, "DeviceNotActive"))) { virReportError(VIR_ERR_OPERATION_INVALID, _("No active operation on device: %s"), device); - } else if (qemuMonitorJSONErrorIsClass(error, "CommandNotFound")) { - virReportError(VIR_ERR_OPERATION_INVALID, - _("Command '%s' is not found"), cmd_name); - } else { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Unexpected error: (%s) '%s'"), - NULLSTR(virJSONValueObjectGetString(error, "class")), - NULLSTR(virJSONValueObjectGetString(error, "desc"))); + return -1; } - return -1; + return qemuMonitorJSONCheckError(cmd, reply); } @@ -4708,7 +4699,7 @@ qemuMonitorJSONBlockStream(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup; - if (qemuMonitorJSONBlockJobError(reply, cmd_name, device) < 0) + if (qemuMonitorJSONBlockJobError(cmd, reply, device) < 0) goto cleanup; ret = 0; @@ -4737,7 +4728,7 @@ qemuMonitorJSONBlockJobCancel(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup; - if (qemuMonitorJSONBlockJobError(reply, cmd_name, device) < 0) + if (qemuMonitorJSONBlockJobError(cmd, reply, device) < 0) goto cleanup; ret = 0; @@ -4768,7 +4759,7 @@ qemuMonitorJSONBlockJobSetSpeed(qemuMonitorPtr mon, if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) goto cleanup; - if (qemuMonitorJSONBlockJobError(reply, cmd_name, device) < 0) + if (qemuMonitorJSONBlockJobError(cmd, reply, device) < 0) goto cleanup; ret = 0; -- 2.16.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list