On 06/09/2014 07:40 AM, Paolo Bonzini wrote: > Il 09/06/2014 15:32, Igor Mammedov ha scritto: >>>>>> > >> > +{ 'command': 'query-memdev', 'returns': ['Memdev'] } >>>> > > Could we make it union, that returns MemdevRam + MemdevFile >>>> > > >>>> > > MemdevFile will have additional file-only specific properties. >>>> > > >>> > >>> > Which are the file-only properties (in the current definition of >>> Memdev)? >> in current none, but for file backend exposing 'path' property might >> be useful >> alternatively instead of union we could add 'type' and optional 'path' >> fields >> to Memdev >> > > Yes, I agree. I think the latest additions to QAPI actually let you do > that with a QAPI union while keeping backwards-compatible output for > other fields. Ok to do this later? It should be acceptable for soft > freeze.
Correct, use of a discriminated union can add a new 'type' parameter, which in turn controls what other parameters are also present as a group, all within the same dictionary passed over the wire, so it is a back-compat friendly change to convert from a single struct to a QAPI union, and can be deferred to the point where you need such a change. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature