On 01/04/2010 07:13 PM, Adam Litke wrote:
The behavior for the qemu balloon device has changed. Formerly, a virtio balloon device was provided by default. Now, '-balloon virtio' must be specified on the command line to enable it. This patch causes libvirt to add '-balloon virtio' to the command line whenever the -balloon option is available.
Why add it automatically? I rather have the user state explicitly that a balloon is required. If the balloon is not used, we're just wasting a pci slot and enlarge the hypervisor signature.
I'm in favor of using the balloon driver, but there are occasions it won't be required or we won't have a guest driver for it.
Signed-off-by: Adam Litke<agl@xxxxxxxxxx> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 36bf9a2..07b0bd1 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1113,6 +1113,8 @@ static unsigned int qemudComputeCmdFlags(const char *help, flags |= QEMUD_CMD_FLAG_MEM_PATH; if (strstr(help, "-chardev")) flags |= QEMUD_CMD_FLAG_CHARDEV; + if (strstr(help, "-balloon")) + flags |= QEMUD_CMD_FLAG_BALLOON; if (version>= 9000) flags |= QEMUD_CMD_FLAG_VNC_COLON; @@ -2883,6 +2885,14 @@ int qemudBuildCommandLine(virConnectPtr conn, ADD_ARG_LIT(migrateFrom); } + /* QEMU changed its default behavior to not include the virtio balloon + * device. Explicitly request it to ensure it will be present. + */ + if (qemuCmdFlags& QEMUD_CMD_FLAG_BALLOON) { + ADD_ARG_LIT("-balloon"); + ADD_ARG_LIT("virtio"); + } + ADD_ARG(NULL); ADD_ENV(NULL); diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index e958850..28f59bf 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -78,6 +78,7 @@ enum qemud_cmd_flags { QEMUD_CMD_FLAG_ENABLE_KVM = (1<< 23), /* Is the -enable-kvm flag available to "enable KVM full virtualization support" */ QEMUD_CMD_FLAG_0_12 = (1<< 24), QEMUD_CMD_FLAG_MONITOR_JSON = QEMUD_CMD_FLAG_0_12, /* JSON mode for monitor */ + QEMUD_CMD_FLAG_BALLOON = (1<< 25), /* -balloon available */ }; /* Main driver state */
-- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list