From: Ján Tomko Date: Wed, 3 Jun 2015 15:02:42 +0000 (+0200) Subject: Only call qemuMonitorGetMemoryStats for virtio memballoon X-Git-Tag: v1.2.17-rc1~245 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09ebc10fe1749f6f57978c8604297734f3311761;p=thirdparty%2Flibvirt.git Only call qemuMonitorGetMemoryStats for virtio memballoon There is nothing to get from the monitor for model='none'. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 50eebf91c5..4690406196 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -11599,14 +11599,19 @@ qemuDomainMemoryStats(virDomainPtr dom, goto endjob; } - priv = vm->privateData; - qemuDomainObjEnterMonitor(driver, vm); - ret = qemuMonitorGetMemoryStats(priv->mon, stats, nr_stats); - if (qemuDomainObjExitMonitor(driver, vm) < 0) - ret = -1; + if (vm->def->memballoon && + vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO) { + priv = vm->privateData; + qemuDomainObjEnterMonitor(driver, vm); + ret = qemuMonitorGetMemoryStats(priv->mon, stats, nr_stats); + if (qemuDomainObjExitMonitor(driver, vm) < 0) + ret = -1; - if (ret < 0 || ret >= nr_stats) - goto endjob; + if (ret < 0 || ret >= nr_stats) + goto endjob; + } else { + ret = 0; + } if (qemuGetProcessInfo(NULL, NULL, &rss, vm->pid, 0) < 0) { virReportError(VIR_ERR_OPERATION_FAILED, "%s",