qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH] block: Add bdrv_runtime_opts to qu


From: Gerd Hoffmann
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH] block: Add bdrv_runtime_opts to query-command-line-options
Date: Fri, 07 Oct 2016 12:49:47 +0200

On Do, 2016-10-06 at 11:40 +0200, Kevin Wolf wrote:
> Recently we moved a few options from QemuOptsLists in blockdev.c to
> bdrv_runtime_opts in block.c in order to make them accissble using
> blockdev-add. However, this has the side effect that these options are
> missing from query-command-line-options now, and libvirt consequently
> disables the corresponding feature.
> 
> This problem was reported as a regression for the 'discard' option,
> introduced in commit 818584a4. However, it is more general than that.
> 
> Fix it by adding bdrv_runtime_opts to the list of QemuOptsLists that are
> returned in query-command-line-options. For the future, libvirt is
> advised to use QMP schema introspection for block device options.
> 
> Reported-by: Michal Privoznik <address@hidden>
> Signed-off-by: Kevin Wolf <address@hidden>

Tested-by: Gerd Hoffmann <address@hidden>

> ---
>  block.c                 | 2 +-
>  include/sysemu/sysemu.h | 1 +
>  util/qemu-config.c      | 2 +-
>  vl.c                    | 1 +
>  4 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/block.c b/block.c
> index bb1f1ec..40eb570 100644
> --- a/block.c
> +++ b/block.c
> @@ -926,7 +926,7 @@ out:
>      g_free(gen_node_name);
>  }
>  
> -static QemuOptsList bdrv_runtime_opts = {
> +QemuOptsList bdrv_runtime_opts = {
>      .name = "bdrv_common",
>      .head = QTAILQ_HEAD_INITIALIZER(bdrv_runtime_opts.head),
>      .desc = {
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index ef2c50b..b668833 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -235,6 +235,7 @@ bool defaults_enabled(void);
>  extern QemuOptsList qemu_legacy_drive_opts;
>  extern QemuOptsList qemu_common_drive_opts;
>  extern QemuOptsList qemu_drive_opts;
> +extern QemuOptsList bdrv_runtime_opts;
>  extern QemuOptsList qemu_chardev_opts;
>  extern QemuOptsList qemu_device_opts;
>  extern QemuOptsList qemu_netdev_opts;
> diff --git a/util/qemu-config.c b/util/qemu-config.c
> index fb97307..5527100 100644
> --- a/util/qemu-config.c
> +++ b/util/qemu-config.c
> @@ -6,7 +6,7 @@
>  #include "qmp-commands.h"
>  
>  static QemuOptsList *vm_config_groups[48];
> -static QemuOptsList *drive_config_groups[4];
> +static QemuOptsList *drive_config_groups[5];
>  
>  static QemuOptsList *find_list(QemuOptsList **lists, const char *group,
>                                 Error **errp)
> diff --git a/vl.c b/vl.c
> index f3abd99..9a2e7d5 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -3035,6 +3035,7 @@ int main(int argc, char **argv, char **envp)
>      qemu_add_drive_opts(&qemu_legacy_drive_opts);
>      qemu_add_drive_opts(&qemu_common_drive_opts);
>      qemu_add_drive_opts(&qemu_drive_opts);
> +    qemu_add_drive_opts(&bdrv_runtime_opts);
>      qemu_add_opts(&qemu_chardev_opts);
>      qemu_add_opts(&qemu_device_opts);
>      qemu_add_opts(&qemu_netdev_opts);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]