On Wed, 20 Jan 2016 09:48:41 -0700 Eric Blake <ebl...@redhat.com> 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 <imamm...@redhat.com> > > --- > > > +++ 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": {}} >