[PATCH 15/35] qemu: process: Update current balloon state to maximum on vm startup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



After libvirt issues the balloon resize command, the current balloon
size needs to be changed to the maximum memory size since the vCPUs were
not started and thus the balloon driver could not return the memory.

Since GetXMLDesc and other APIs return the balloon size without updating
it in case they are not able to obtain the job and the memory balloon
does not support the asynchronous event the sizing might be incorrect.
---
 src/qemu/qemu_process.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index d5d9369..7f154f0 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4897,6 +4897,11 @@ int qemuProcessStart(virConnectPtr conn,
             goto cleanup;
     }

+    /* Since CPUs were not started yet, the ballon could not return the memory
+     * to the host and thus cur_balloon needs to be updated so that GetXMLdesc
+     * and friends return the correct size in case they can't grab the job */
+    vm->def->mem.cur_balloon = virDomainDefGetMemoryActual(vm->def);
+
     VIR_DEBUG("Detecting actual memory size for video device");
     if (qemuProcessUpdateVideoRamSize(driver, vm, asyncJob) < 0)
         goto cleanup;
-- 
2.4.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]