[libvirt] [RFC v4 00/13] qmp: query-device-slots command

Eric Blake eblake at redhat.com
Tue Aug 15 18:57:50 UTC 2017

On 08/14/2017 04:57 PM, Eduardo Habkost wrote:
> Changelog
> ---------
> Changes v3 -> v4:
> * New compact representation of slot sets.
> * New generic code to automatically merge similar slots
>   into a single entry in the command output while keeping
>   implementations of the method simpler.
> * Example implementation of IDE and USB bus enumeration

> Slot sets are represented by a list of option names and sets of
> possible values for each of those options.  The command uses a
> compact representation for the set of valid values for an option.
> For example, the following set of 5 PCI functions:
>       bus: pcie.0
>       device-number: 31
>       functions: 1,4,5,6,7
> would be represented in the JSON data as:
>   {"available":false,"count":5,
>    "device-types":["pci-device"],"hotpluggable":false,
>    "opts":[
>       {"option":"function","values":[1,[4,7]]},

A list (and not just a single-type list, but a list that mixes scalar
and sublist),

>       {"option":"device-number","values":31},

vs. a scalar.  Why not a one-element array?

>       {"option":"bus","values":"pcie.0"}],
>    "opts-complete":true}
> I planned to use QAPI alternates to model/document that in the
> schema, but it would require implementing a few missing features
> in QAPI alternate support.

Yeah, I can see how existing QAPI alternates do not yet support arrays,
which becomes important to your representation.  Do you need help
getting the QAPI generator improved to support a particular feature that
you found to be lacking?

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170815/a677c86e/attachment-0001.sig>

More information about the libvir-list mailing list