mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: guest agent: introduce new error code VIR_ERR_AGENT_UNSYNCED
A separate error code will help recognize real failures from necessity to try again Signed-off-by: Maxim Nestratov <mnestratov@virtuozzo.com>
This commit is contained in:
parent
f3f15cc240
commit
914d5e1cbf
@ -315,6 +315,8 @@ typedef enum {
|
|||||||
VIR_ERR_AUTH_UNAVAILABLE = 94, /* authentication unavailable */
|
VIR_ERR_AUTH_UNAVAILABLE = 94, /* authentication unavailable */
|
||||||
VIR_ERR_NO_SERVER = 95, /* Server was not found */
|
VIR_ERR_NO_SERVER = 95, /* Server was not found */
|
||||||
VIR_ERR_NO_CLIENT = 96, /* Client was not found */
|
VIR_ERR_NO_CLIENT = 96, /* Client was not found */
|
||||||
|
VIR_ERR_AGENT_UNSYNCED = 97, /* guest agent replies with wrong id
|
||||||
|
to guest-sync command */
|
||||||
} virErrorNumber;
|
} virErrorNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -966,21 +966,21 @@ qemuAgentGuestSync(qemuAgentPtr mon)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!sync_msg.rxObject) {
|
if (!sync_msg.rxObject) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_AGENT_UNSYNCED, "%s",
|
||||||
_("Missing monitor reply object"));
|
_("Missing monitor reply object"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virJSONValueObjectGetNumberUlong(sync_msg.rxObject,
|
if (virJSONValueObjectGetNumberUlong(sync_msg.rxObject,
|
||||||
"return", &id_ret) < 0) {
|
"return", &id_ret) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportError(VIR_ERR_AGENT_UNSYNCED, "%s",
|
||||||
_("Malformed return value"));
|
_("Malformed return value"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_DEBUG("Guest returned ID: %llu", id_ret);
|
VIR_DEBUG("Guest returned ID: %llu", id_ret);
|
||||||
if (id_ret != id) {
|
if (id_ret != id) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_AGENT_UNSYNCED,
|
||||||
_("Guest agent returned ID: %llu instead of %llu"),
|
_("Guest agent returned ID: %llu instead of %llu"),
|
||||||
id_ret, id);
|
id_ret, id);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -1394,6 +1394,12 @@ virErrorMsg(virErrorNumber error, const char *info)
|
|||||||
else
|
else
|
||||||
errmsg = _("Client not found: %s");
|
errmsg = _("Client not found: %s");
|
||||||
break;
|
break;
|
||||||
|
case VIR_ERR_AGENT_UNSYNCED:
|
||||||
|
if (info == NULL)
|
||||||
|
errmsg = _("guest agent replied with wrong id to guest-sync command");
|
||||||
|
else
|
||||||
|
errmsg = _("guest agent replied with wrong id to guest-sync command: %s");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return errmsg;
|
return errmsg;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user