mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 15:15:25 +00:00
Don't log an internal error when the guest hasn't updated balloon stats
If virDomainMemoryStats is called too soon after domain startup, QEMU returns: "error":{"class":"GenericError","desc":"guest hasn't updated any stats yet"} when we try to query balloon stats. Check for this reply and log it as OPERATION_INVALID instead of INTERNAL_ERROR. This means the daemon only logs it at the debug level, without polluting system logs. Reported by Laszlo Pal: https://www.redhat.com/archives/libvirt-users/2014-May/msg00023.html
This commit is contained in:
parent
4dae1eddde
commit
268101ea90
@ -1465,12 +1465,22 @@ int qemuMonitorJSONGetMemoryStats(qemuMonitorPtr mon,
|
||||
NULL)))
|
||||
goto cleanup;
|
||||
|
||||
ret = qemuMonitorJSONCommand(mon, cmd, &reply);
|
||||
if ((ret = qemuMonitorJSONCommand(mon, cmd, &reply)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (ret == 0)
|
||||
ret = qemuMonitorJSONCheckError(cmd, reply);
|
||||
if ((data = virJSONValueObjectGet(reply, "error"))) {
|
||||
const char *klass = virJSONValueObjectGetString(data, "class");
|
||||
const char *desc = virJSONValueObjectGetString(data, "desc");
|
||||
|
||||
if (ret < 0)
|
||||
if (STREQ_NULLABLE(klass, "GenericError") &&
|
||||
STREQ_NULLABLE(desc, "guest hasn't updated any stats yet")) {
|
||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||
_("the guest hasn't updated any stats yet"));
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret = qemuMonitorJSONCheckError(cmd, reply)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(data = virJSONValueObjectGet(reply, "return"))) {
|
||||
|
Loading…
Reference in New Issue
Block a user