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.