提交 d7a0386e 编写于 作者: P Peter Krempa

qemu: Refresh memory size only on fresh starts

Qemu unfortunately doesn't update internal state right after migration
and so the actual balloon size as returned by 'query-balloon' are
invalid for a while after the CPUs are started after migration. If we'd
refresh our internal state at this point we would report invalid current
memory size until the next balloon event would arrive.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1242940
上级 624ec1c2
......@@ -5023,7 +5023,8 @@ int qemuProcessStart(virConnectPtr conn,
/* Since CPUs were not started yet, the balloon 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 */
if (qemuProcessRefreshBalloonState(driver, vm, asyncJob) < 0)
if (!migrateFrom && !snapshot &&
qemuProcessRefreshBalloonState(driver, vm, asyncJob) < 0)
goto cleanup;
VIR_DEBUG("Detecting actual memory size for video device");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册