[libvirt] [PATCH] qemu: Always enable the virtio balloon driver
Dor Laor
dlaor at redhat.com
Tue Jan 5 07:43:32 UTC 2010
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 at us.ibm.com>
>
> 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 */
>
>
More information about the libvir-list
mailing list