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.

Reply via email to