Currently, 'info' will always report that mem = max mem. Make sure we actually return the correct mem value. Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> --- src/qemu_driver.c | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/qemu_driver.c b/src/qemu_driver.c index d3eb3ad..4e3e531 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -2553,16 +2553,22 @@ static int qemudDomainGetInfo(virDomainPtr dom, } } - err = qemudDomainGetMemoryBalloon(dom->conn, vm, &balloon); - if (err < 0) - goto cleanup; - info->maxMem = vm->def->maxmem; - if (err == 0) - /* Balloon not supported, so maxmem is always the allocation */ - info->memory = vm->def->maxmem; - else - info->memory = balloon; + + if (virDomainIsActive(vm)) { + err = qemudDomainGetMemoryBalloon(dom->conn, vm, &balloon); + if (err < 0) + goto cleanup; + + if (err == 0) + /* Balloon not supported, so maxmem is always the allocation */ + info->memory = vm->def->maxmem; + else + info->memory = balloon; + } else { + info->memory = vm->def->memory; + } + info->nrVirtCpu = vm->def->vcpus; ret = 0; -- 1.6.0.6 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list