[libvirt] [PATCH 2/3] conf: Fix up balloon size after removing a memory device from def

Peter Krempa pkrempa at redhat.com
Thu Apr 30 16:20:22 UTC 2015


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 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d397bca..3a1782e 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -12986,6 +12986,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;
 }

-- 
2.3.5




More information about the libvir-list mailing list