]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
conf: Fix up balloon size after removing a memory device from def
authorPeter Krempa <pkrempa@redhat.com>
Thu, 30 Apr 2015 15:43:53 +0000 (17:43 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 11 May 2015 06:50:36 +0000 (08:50 +0200)
To avoid having the ballooned memory size larger than the actual
physical memory size, truncate the ballooned size if it overflows.

src/conf/domain_conf.c

index 334283d70fb0a19b0abda5c3a7e421b674543aa4..e3e0f637d50fb61a32acaff38fc880b7b4b15945 100644 (file)
@@ -12988,6 +12988,11 @@ virDomainMemoryRemove(virDomainDefPtr def,
 {
     virDomainMemoryDefPtr ret = def->mems[idx];
     VIR_DELETE_ELEMENT(def->mems, idx, def->nmems);
+
+    /* fix up balloon size */
+    if (def->mem.cur_balloon > virDomainDefGetMemoryActual(def))
+        def->mem.cur_balloon = virDomainDefGetMemoryActual(def);
+
     return ret;
 }