From a765e3094d0a28c9f8426068898b2101f32dfee6 Mon Sep 17 00:00:00 2001 From: Ladi Prosek Date: Fri, 6 Oct 2017 08:47:35 +0200 Subject: [PATCH] hyperv: Map Limit to max_memory and VirtualQuantity to cur_balloon Hyper-V uses its own specific memory management so no mapping is going to be perfect. However, it is more correct to map Limit to max_memory (it really is the upper limit of what the VM may potentially use) and keep cur_balloon equal to total_memory. The typical value returned from Hyper-V in Limit is 1 TiB, which is not really going to work if interpreted as "startup memory" to be ballooned away later. Signed-off-by: Ladi Prosek --- src/hyperv/hyperv_driver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c index 8ae87743da..ee94fd3511 100644 --- a/src/hyperv/hyperv_driver.c +++ b/src/hyperv/hyperv_driver.c @@ -919,8 +919,10 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) def->description = virBufferContentAndReset(&buf); } - virDomainDefSetMemoryTotal(def, memorySettingData->data.common->Limit * 1024); /* megabyte to kilobyte */ - def->mem.cur_balloon = memorySettingData->data.common->VirtualQuantity * 1024; /* megabyte to kilobyte */ + /* mebibytes to kibibytes */ + def->mem.max_memory = memorySettingData->data.common->Limit * 1024; + def->mem.cur_balloon = memorySettingData->data.common->VirtualQuantity * 1024; + virDomainDefSetMemoryTotal(def, memorySettingData->data.common->VirtualQuantity * 1024); if (virDomainDefSetVcpusMax(def, processorSettingData->data.common->VirtualQuantity, -- GitLab