Am 23.05.2013 um 13:57 hat Stefan Hajnoczi geschrieben: > On Wed, May 22, 2013 at 03:53:05PM +0200, Kevin Wolf wrote: > > Am 16.05.2013 um 21:05 hat Eric Blake geschrieben: > > > On 05/16/2013 02:24 AM, Kevin Wolf wrote: > > The other thing that I'm not sure about is whether we should teach QAPI > > to parse certain data structures just into QDicts instead of C structs, > > or if dealing with the big unions inside the block layer actually makes > > sense. > > This is an interesting question. It's very convenient from the code > side - we don't have to worry about laying down a schema. > > However, the point of QAPI is to offer that schema that allows for us to > reason about things like compatibility (hard to sneak in a patch that > modifies the schema, easy to sneak in a patch that modifies block driver > parameter code) and eliminates the boilerplate of type-checking/basic > input validation. > > Even if it requires some effort, I think we should avoid tunneling > schema-less data over QAPI.
Note that I'm talking _only_ about the C side here. Everything that goes through QMP is an external API and must described by a schema, I fully agree there. The question is whether QAPI must, after validating the input against the schema, parse it into C structs or whether it should be able to fill QDicts and pass those around. Maybe it's just an unjustified feeling, but a C union of the option structs for all image formats feels very ugly for me, whereas I think a union is perfectly fine in the JSON schema. Kevin