]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: avoid calling the balloon info command if disabled
authorDaniel Veillard <veillard@redhat.com>
Thu, 12 Aug 2010 16:32:16 +0000 (18:32 +0200)
committerDaniel Veillard <veillard@redhat.com>
Thu, 12 Aug 2010 16:32:16 +0000 (18:32 +0200)
 Basically a followup of the previous patch about balloon desactivation
if desactivated, to not ask for balloon information to qemu as we will
just get an error back.
 This can make a huge difference in the time needed for domain
information or list when a machine is loaded, and balloon has been
desactivated in the guests.

* src/qemu/qemu_driver.c: do not get the balloon info if the balloon
  suppor is disabled

src/qemu/qemu_driver.c

index e4f47d4ff7f8b7df1dcf9e2c277b96b05aed9112..2dbb6242069d2dde23e8e35c29e062625a54d7fe 100644 (file)
@@ -4938,7 +4938,11 @@ static int qemudDomainGetInfo(virDomainPtr dom,
 
     if (virDomainObjIsActive(vm)) {
         qemuDomainObjPrivatePtr priv = vm->privateData;
-        if (!priv->jobActive) {
+
+        if ((vm->def->memballoon != NULL) &&
+            (vm->def->memballoon->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE)) {
+            info->memory = vm->def->maxmem;
+        } else if (!priv->jobActive) {
             if (qemuDomainObjBeginJob(vm) < 0)
                 goto cleanup;
 
@@ -6745,8 +6749,10 @@ static char *qemudDomainDumpXML(virDomainPtr dom,
         goto cleanup;
     }
 
-    /* Refresh current memory based on balloon info */
-    if (virDomainObjIsActive(vm)) {
+    /* Refresh current memory based on balloon info if supported */
+    if ((vm->def->memballoon != NULL) &&
+        (vm->def->memballoon->model != VIR_DOMAIN_MEMBALLOON_MODEL_NONE) &&
+        (virDomainObjIsActive(vm))) {
         qemuDomainObjPrivatePtr priv = vm->privateData;
         /* Don't delay if someone's using the monitor, just use
          * existing most recent data instead */