On Wed, 20 Jan 2016 09:48:41 -0700
Eric Blake <[email protected]> wrote:
> On 01/19/2016 06:06 AM, Igor Mammedov wrote:
> > Add set-vm-generation-id command to set Virtual Machine
> > Generation ID counter.
> >
> > QMP command example:
> > { "execute": "set-vm-generation-id",
> > "arguments": {
> > "uuid": "324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87"
> > }
> > }
> >
> > HMP command example:
> > set-vm-generation-id 324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87
> >
> > Signed-off-by: Igor Mammedov <[email protected]>
> > ---
>
> > +++ b/hmp.c
> > @@ -2384,3 +2384,15 @@ void hmp_info_vm_generation_id(Monitor *mon,
> > const QDict *qdict) }
> > qapi_free_UuidInfo(info);
> > }
> > +
> > +void hmp_set_vm_generation_id(Monitor *mon, const QDict *qdict)
> > +{
> > + Error *errp = NULL;
> > + const char *uuid = qdict_get_str(qdict, "uuid");
> > +
> > + qmp_set_vm_generation_id(uuid, &errp);
> > + if (errp != NULL) {
>
> I might have written 'if (errp)', but that's cosmetic style.
>
> > +++ b/qapi-schema.json
> > @@ -4090,3 +4090,12 @@
> > # Since 2.6
> > ##
> > { 'command': 'query-vm-generation-id', 'returns': 'UuidInfo' }
> > +
> > +##
> > +# @set-vm-generation-id
> > +#
> > +# Set Virtual Machine Generation ID
> > +#
>
> Missing documentation of the @uuid argument.
>
> > +# Since 2.6
> > +##
> > +{ 'command': 'set-vm-generation-id', 'data': { 'uuid': 'str' } }
> > diff --git a/qmp-commands.hx b/qmp-commands.hx
> > index 9408a3d..306082f 100644
> > --- a/qmp-commands.hx
> > +++ b/qmp-commands.hx
> > @@ -4814,3 +4814,25 @@ Example:
> >
> > -> { "execute": "query-vm-generation-id" }
> > <- {"return": {"UUID": "324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87"}}
>
> Annoying that the set uses 'uuid' and the query responds with 'UUID';
> I prefer the lowercase version in new API, so maybe patch 5/9 should
> create a new return type with desirable spelling rather than reusing
> the older type.
ok, I'll add a new type.
>
>
> > +SQMP
> > +Set Virtual Machine Generation ID counter
> > +-----
> > +
> > +Arguments:
> > +
> > +- "UUID": counter ID in UUID string representation (json-string)"
>
> wrong case, per the example.
>
> > +
> > +Example:
> > +
> > +-> { "execute": "set-vm-generation-id" ,
> > + "arguments": { "uuid":
> > "324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87" } } +<- {"return": {}}
>