[libvirt] [PATCH 08/27] Add API for issuing 'balloon' monitor command
Mark McLoughlin
markmc at redhat.com
Mon Sep 28 13:26:17 UTC 2009
On Thu, 2009-09-24 at 16:00 +0100, Daniel P. Berrange wrote:
> * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Add new
> qemuMonitorSetBalloon() based on existing code in
> qemudDomainSetMemoryBalloon
> * src/qemu/qemu_driver.c: Remove use of qemudDomainSetMemoryBalloon()
> in favour of qemuMonitorSetBalloon(). Fix error code when balloon
> is not supported
> ---
> src/qemu/qemu_driver.c | 56 ++++-------------------------------------
> src/qemu/qemu_monitor_text.c | 47 +++++++++++++++++++++++++++++++++++
> src/qemu/qemu_monitor_text.h | 2 +
> 3 files changed, 55 insertions(+), 50 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 8d3c9b6..a0b5e49 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
...
> @@ -3066,10 +3019,13 @@ static int qemudDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
> }
>
> if (virDomainIsActive(vm)) {
> - ret = qemudDomainSetMemoryBalloon(dom->conn, vm, newmem);
> - if (ret == 0)
> + ret = qemuMonitorSetBalloon(vm, newmem);
> + /* Turn lack of balloon support into a fatal error */
> + if (ret == 0) {
> qemudReportError(dom->conn, dom, NULL, VIR_ERR_NO_SUPPORT,
> "%s", _("cannot set memory of an active domain"));
> + ret = -1;
> + }
Making this an error condition is new; would have been nice as a
preceeding patch
> } else {
> vm->def->memory = newmem;
> ret = 0;
> diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
> index 2a20db3..be13dce 100644
> --- a/src/qemu/qemu_monitor_text.c
> +++ b/src/qemu/qemu_monitor_text.c
> @@ -551,6 +551,10 @@ error:
> /* The reply from QEMU contains 'ballon: actual=421' where value is in MB */
> #define BALLOON_PREFIX "balloon: actual="
>
> +/*
> + * Returns: 0 if balloon not supported, +1 if balloon query worked
> + * or -1 on failure
> + */
> int qemuMonitorGetBalloonInfo(const virDomainObjPtr vm,
> unsigned long *currmem)
> {
Should be in previous patch
ACK
Cheers,
Mark.
More information about the libvir-list
mailing list