On Tue, 26 Mar 2013 14:43:01 +0100 Igor Mammedov <imamm...@redhat.com> wrote:
> On Mon, 25 Mar 2013 14:22:36 -0600 > Eric Blake <ebl...@redhat.com> wrote: > > > On 03/25/2013 02:09 PM, Luiz Capitulino wrote: > > > On Mon, 25 Mar 2013 16:35:11 +0100 > > > Igor Mammedov <imamm...@redhat.com> wrote: > > > > > > > >> +void qmp_cpu_set(int64_t id, const bool online, Error **errp) > > >> +{ > > >> + if (online) { > > >> + do_cpu_hot_add(id, errp); > > >> + } else { > > >> + error_setg(errp, "Unplug is not implemented"); > > >> + } > > >> +} > > > > > > As a general rule, we don't allow command extensions to be done this > > > way because this is not queriable. A client would have to try online=off > > > to see if QEMU version X supports it, worse: the client would have to > > > parse the error message to be sure the failure actually corresponds > > > to unplug not implemented. > > > > > > The alternative is to have cpu-set-online and later cpu-set-offline. Quite > > > verbose, but doesn't have issues. > It looks like better as way to go. Later on we could keep them for > compatibility sake and map it to device_add/device_del commands when they are > ready. I find the batch API to be a bit overkill (I'd add it in the future if really needed), but I won't oppose to it.