On Fri, Mar 12, 2021 at 09:46:54 +0100, Paolo Bonzini wrote:
On 12/03/21 09:14, Markus Armbruster wrote:
> Paolo Bonzini <pbonzini(a)redhat.com> writes:
>
> > On 11/03/21 15:08, Markus Armbruster wrote:
> > > > I would rather keep the OptsVisitor here. Do the same check for
JSON
> > > > syntax that you have in qobject_input_visitor_new_str, and whenever
> > > > you need to walk all -object arguments, use something like this:
> > > >
> > > > typedef struct ObjectArgument {
> > > > const char *id;
> > > > QDict *json; /* or NULL for QemuOpts */
> > > > QSIMPLEQ_ENTRY(ObjectArgument) next;
> > > > }
> > > >
> > > > I already had patches in my queue to store -object in a GSList of
> > > > dictionaries, changing it to use the above is easy enough.
> > >
> > > I think I'd prefer following -display's precedence. See my reply
to
> > > Kevin for details.
> >
> > Yeah, I got independently to the same conclusion and posted patches
> > for that. I was scared that visit_type_ObjectOptions was too much for
> > OptsVisitor but it seems to work...
>
> We have reason to be scared. I'll try to cover this in my review.
Yes, it's a good reason to possibly even delay those 3 patches to 6.1.
Is there a chance we could get the json syntax for -object for now? I
think it would simplify libvirt's code a bit and sidestep the issue of
converting the already existing parameters from JSON form we have into
the commandline form.