Report the generic errors using the existing function so that we don't
reimplement the same functionality multiple times.
Signed-off-by: Peter Krempa <pkrempa(a)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