Re: [PATCH 10/15] qemu: capabilities: Add support for QMP schema introspection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 20, 2016 at 15:05:21 -0500, Eric Blake wrote:
> On 10/20/2016 10:25 AM, Peter Krempa wrote:

[...]

> > +            continue;
> > +        } else if (STREQ(metatype, "object")) {
> > +            if (**query == '+')
> > +                basename = virQEMUCapsQMPSchemaObjectGetType(*query + 1,
> > +                                                             "variants",
> > +                                                             "case", base);
> > +            else
> > +                basename = virQEMUCapsQMPSchemaObjectGetType(*query,
> > +                                                             "members",
> > +                                                             "name",
> > +                                                             base);
> 
> I'm a bit worried here.  Qemu promises that a name should not disappear
> from a QMP command, but warns that between releases, locating that name
> may migrate from the 'names' array (always present) to the 'variants'
> array (present only under some circumstances), based on what else was
> added to the command in the meantime.  I guess what that means is that
> when qemu re-does a type layout, it may mean that we need two separate
> query paths (one for the old layout, one for the new) to properly detect
> the existence of that capability under all versions of qemu.  I don't
> think it is a show-stopper, but is something to be aware of.

This is very unpleasant to code against. Looking into all variants would
certainly be wrong in some cases.i

I think we can possibly add a '*' operator for the variant, which could
iterate all the variants and find the first match. I've prepared the
function for recursion as I wanted to implement the 'alternate's this
way.

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]