[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] monitor: introduce query-config-schema
From: |
Amos Kong |
Subject: |
Re: [Qemu-devel] [PATCH] monitor: introduce query-config-schema |
Date: |
Tue, 23 Apr 2013 10:40:48 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Apr 22, 2013 at 05:16:02PM +0200, Paolo Bonzini wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 22/04/2013 17:00, Eric Blake ha scritto:
> > On 04/22/2013 06:07 AM, Paolo Bonzini wrote:
> >> Il 22/04/2013 13:48, Amos Kong ha scritto:
> >>>>>>> Libvirt doesn't have a stable way to know option
> >>>>>>> support detail. This patch introdued a new qmp command
> >>>>>>> to query configuration schema information. hmp command
> >>>>>>> isn't added.
> >>>>>
> >>>>> Can you introspect QemuOpts instead? All new options are
> >>>>> added there.
> >>>
> >>> It would be exact to use QemuOpts. I tried to output the
> >>> vm_config_groups[] in qemu-config.c, but it seems not enough.
> >>> (desc list of -netdev, -drive, -device are all empty)
> >>
> >> That's expected because they are parsed otherwise, depending on
> >> the backend type. -chardev is currently working but it's an
> >> implementation detail.
> >
> > Libvirt cares most about newly added options, which should use
> > qemuOpts all the way. We can understand that legacy options like
> > -netdev might not yet use qemuOpts, but they are also legacy
> > options, and therefore libvirt can already assume they exist since
> > at least qemu 1.3 (when libvirt switched over to QMP probing). If
> > we later add a new feature to -netdev, we should also convert
> > -netdev to qemuOpts at that time, so that libvirt would know
> > whether the new feature is available.
>
> - -netdev is not a legacy option. -netdev/-drive/-device do use
> QemuOpts, but not for validation. They create an object, and let the
> object parse the option.
>
> They are more complex than the other option, and need a different kind
> of introspection (on the properties of a class, or something like that).
'-netdev fds=...' was added after supported multiqueue, but we can't
check it from the output of vm_config_groups[]
Do we need to process all non-legacy options for validation first?
then add the query command.
> Paolo
>
> > At any rate, we really DO want introspection, and having it in 1.5
> > is a worthwhile goal. Even if the introspection turns up empty on
> > legacy options, having it for the sake of new options is worth the
> > effort.
Ok, I will work on another patch to output vm_config_groups[] with
clear JSON structure. Thanks
--
Amos.
- Re: [Qemu-devel] [PATCH] monitor: introduce query-config-schema, (continued)