Message ID | 20171218105318.30367-1-danielhb@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Dec 18, 2017 at 08:53:18AM -0200, Daniel Henrique Barboza wrote: > qmp_cpu is a nop that was created a while ago in commit 755f196898 > ("qapi: Convert the cpu command") for the sake of compatibility, > due to the existence of hmp_cpu. > > Today, there is no need or requirement to keep it as is. QMP is > meant to be as stateless as possible, thus any QMP command that > needs a specific monitor CPU setup should provide it in its > arguments, instead of relying in the current QMP monitor state. > > This patch flags qmp_cpu as deprecated in qemu-doc.texi and changes > qmp_cpu body to show a deprecation message if used. > > Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> > --- > Although I've changed the behavior of qmp_cpu to return an error > instead of doing nothing, no errors were found in the Travis > build of the patch. Code inspection confirms that qmp_cpu isn't > being used in QEMU. > > A quick inspection in Libvirt code shows that there is no reference > to 'qmp_cpu' there either, but to be sure I've CCed Daniel here > so he can comment/confirm if Libvirt does not care for this change. > > qemu-doc.texi | 6 ++++++ > qmp.c | 2 +- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/qemu-doc.texi b/qemu-doc.texi > index f7317dfc66..2b63f9a325 100644 > --- a/qemu-doc.texi > +++ b/qemu-doc.texi > @@ -2516,6 +2516,12 @@ subsystem image. > The ``convert -s snapshot_id_or_name'' argument is obsoleted > by the ``convert -l snapshot_param'' argument instead. > > +@section System emulator machine protocol commands > + > +@subsection qmp_cpu (since 2.12.0) > + > +The ``qmp_cpu'' command is deprecated. Do not use this command. Just saying it is deprecated doesn't add any useful info, rather explain why it is deprecated & what (if anything) to use instead. e.g. The ``qmp_cpu'' command is a functional no-op. There is no reason to invoke this command and it will be removed with no replacement. > @subsection host_net_add (since 2.10.0) > diff --git a/qmp.c b/qmp.c > index e8c303116a..d8543d713d 100644 > --- a/qmp.c > +++ b/qmp.c > @@ -115,7 +115,7 @@ void qmp_system_powerdown(Error **erp) > > void qmp_cpu(int64_t index, Error **errp) > { > - /* Just do nothing */ > + error_setg(errp, "qmp_cpu is deprecated, do not use this command"); > } > > void qmp_cpu_add(int64_t id, Error **errp) Regards, Daniel
On 12/18/2017 08:59 AM, Daniel P. Berrange wrote: > On Mon, Dec 18, 2017 at 08:53:18AM -0200, Daniel Henrique Barboza wrote: >> qmp_cpu is a nop that was created a while ago in commit 755f196898 >> ("qapi: Convert the cpu command") for the sake of compatibility, >> due to the existence of hmp_cpu. >> >> Today, there is no need or requirement to keep it as is. QMP is >> meant to be as stateless as possible, thus any QMP command that >> needs a specific monitor CPU setup should provide it in its >> arguments, instead of relying in the current QMP monitor state. >> >> This patch flags qmp_cpu as deprecated in qemu-doc.texi and changes >> qmp_cpu body to show a deprecation message if used. >> >> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> >> --- >> Although I've changed the behavior of qmp_cpu to return an error >> instead of doing nothing, no errors were found in the Travis >> build of the patch. Code inspection confirms that qmp_cpu isn't >> being used in QEMU. >> >> A quick inspection in Libvirt code shows that there is no reference >> to 'qmp_cpu' there either, but to be sure I've CCed Daniel here >> so he can comment/confirm if Libvirt does not care for this change. >> >> qemu-doc.texi | 6 ++++++ >> qmp.c | 2 +- >> 2 files changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/qemu-doc.texi b/qemu-doc.texi >> index f7317dfc66..2b63f9a325 100644 >> --- a/qemu-doc.texi >> +++ b/qemu-doc.texi >> @@ -2516,6 +2516,12 @@ subsystem image. >> The ``convert -s snapshot_id_or_name'' argument is obsoleted >> by the ``convert -l snapshot_param'' argument instead. >> >> +@section System emulator machine protocol commands >> + >> +@subsection qmp_cpu (since 2.12.0) >> + >> +The ``qmp_cpu'' command is deprecated. Do not use this command. > Just saying it is deprecated doesn't add any useful info, rather > explain why it is deprecated & what (if anything) to use instead. > e.g. > > The ``qmp_cpu'' command is a functional no-op. There is no reason > to invoke this command and it will be removed with no replacement. Thanks, I'll add more info in qemu-doc.texi in the next version. Also, just checked that I didn't touch qapi-schema.json. This is how it reads about qmp_cpu: # This command is a nop that is only provided for the purposes of compatibility. # # Since: 0.14.0 # # Notes: Do not use this command. Should we change it to mention that the command is deprecated, something like: # Notes: Do not use this command - it is deprecated and will disappear in the future. Or just adding the deprecation note in qemu-doc.texi is enough? > >> @subsection host_net_add (since 2.10.0) >> diff --git a/qmp.c b/qmp.c >> index e8c303116a..d8543d713d 100644 >> --- a/qmp.c >> +++ b/qmp.c >> @@ -115,7 +115,7 @@ void qmp_system_powerdown(Error **erp) >> >> void qmp_cpu(int64_t index, Error **errp) >> { >> - /* Just do nothing */ >> + error_setg(errp, "qmp_cpu is deprecated, do not use this command"); >> } >> >> void qmp_cpu_add(int64_t id, Error **errp) > Regards, > Daniel
On Mon, Dec 18, 2017 at 09:55:55AM -0200, Daniel Henrique Barboza wrote: > > > On 12/18/2017 08:59 AM, Daniel P. Berrange wrote: > > On Mon, Dec 18, 2017 at 08:53:18AM -0200, Daniel Henrique Barboza wrote: > > > qmp_cpu is a nop that was created a while ago in commit 755f196898 > > > ("qapi: Convert the cpu command") for the sake of compatibility, > > > due to the existence of hmp_cpu. > > > > > > Today, there is no need or requirement to keep it as is. QMP is > > > meant to be as stateless as possible, thus any QMP command that > > > needs a specific monitor CPU setup should provide it in its > > > arguments, instead of relying in the current QMP monitor state. > > > > > > This patch flags qmp_cpu as deprecated in qemu-doc.texi and changes > > > qmp_cpu body to show a deprecation message if used. > > > > > > Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> > > > --- > > > Although I've changed the behavior of qmp_cpu to return an error > > > instead of doing nothing, no errors were found in the Travis > > > build of the patch. Code inspection confirms that qmp_cpu isn't > > > being used in QEMU. > > > > > > A quick inspection in Libvirt code shows that there is no reference > > > to 'qmp_cpu' there either, but to be sure I've CCed Daniel here > > > so he can comment/confirm if Libvirt does not care for this change. > > > > > > qemu-doc.texi | 6 ++++++ > > > qmp.c | 2 +- > > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/qemu-doc.texi b/qemu-doc.texi > > > index f7317dfc66..2b63f9a325 100644 > > > --- a/qemu-doc.texi > > > +++ b/qemu-doc.texi > > > @@ -2516,6 +2516,12 @@ subsystem image. > > > The ``convert -s snapshot_id_or_name'' argument is obsoleted > > > by the ``convert -l snapshot_param'' argument instead. > > > +@section System emulator machine protocol commands > > > + > > > +@subsection qmp_cpu (since 2.12.0) > > > + > > > +The ``qmp_cpu'' command is deprecated. Do not use this command. > > Just saying it is deprecated doesn't add any useful info, rather > > explain why it is deprecated & what (if anything) to use instead. > > e.g. > > > > The ``qmp_cpu'' command is a functional no-op. There is no reason > > to invoke this command and it will be removed with no replacement. > > Thanks, I'll add more info in qemu-doc.texi in the next version. > > Also, just checked that I didn't touch qapi-schema.json. This is how > it reads about qmp_cpu: > > > # This command is a nop that is only provided for the purposes of > compatibility. > # > # Since: 0.14.0 > # > # Notes: Do not use this command. > > Should we change it to mention that the command is deprecated, something > like: > > # Notes: Do not use this command - it is deprecated and will disappear in > the future. > > > Or just adding the deprecation note in qemu-doc.texi is enough? Lets modify the QAPI file too, since you never know what users will read first ! Regards, Daniel
On Mon, Dec 18, 2017 at 12:01:44PM +0000, Daniel P. Berrange wrote: > On Mon, Dec 18, 2017 at 09:55:55AM -0200, Daniel Henrique Barboza wrote: > > > > > > On 12/18/2017 08:59 AM, Daniel P. Berrange wrote: > > > On Mon, Dec 18, 2017 at 08:53:18AM -0200, Daniel Henrique Barboza wrote: > > > > qmp_cpu is a nop that was created a while ago in commit 755f196898 > > > > ("qapi: Convert the cpu command") for the sake of compatibility, > > > > due to the existence of hmp_cpu. > > > > > > > > Today, there is no need or requirement to keep it as is. QMP is > > > > meant to be as stateless as possible, thus any QMP command that > > > > needs a specific monitor CPU setup should provide it in its > > > > arguments, instead of relying in the current QMP monitor state. > > > > > > > > This patch flags qmp_cpu as deprecated in qemu-doc.texi and changes > > > > qmp_cpu body to show a deprecation message if used. > > > > > > > > Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> > > > > --- > > > > Although I've changed the behavior of qmp_cpu to return an error > > > > instead of doing nothing, no errors were found in the Travis > > > > build of the patch. Code inspection confirms that qmp_cpu isn't > > > > being used in QEMU. > > > > > > > > A quick inspection in Libvirt code shows that there is no reference > > > > to 'qmp_cpu' there either, but to be sure I've CCed Daniel here > > > > so he can comment/confirm if Libvirt does not care for this change. > > > > > > > > qemu-doc.texi | 6 ++++++ > > > > qmp.c | 2 +- > > > > 2 files changed, 7 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/qemu-doc.texi b/qemu-doc.texi > > > > index f7317dfc66..2b63f9a325 100644 > > > > --- a/qemu-doc.texi > > > > +++ b/qemu-doc.texi > > > > @@ -2516,6 +2516,12 @@ subsystem image. > > > > The ``convert -s snapshot_id_or_name'' argument is obsoleted > > > > by the ``convert -l snapshot_param'' argument instead. > > > > +@section System emulator machine protocol commands > > > > + > > > > +@subsection qmp_cpu (since 2.12.0) > > > > + > > > > +The ``qmp_cpu'' command is deprecated. Do not use this command. > > > Just saying it is deprecated doesn't add any useful info, rather > > > explain why it is deprecated & what (if anything) to use instead. > > > e.g. > > > > > > The ``qmp_cpu'' command is a functional no-op. There is no reason > > > to invoke this command and it will be removed with no replacement. > > > > Thanks, I'll add more info in qemu-doc.texi in the next version. > > > > Also, just checked that I didn't touch qapi-schema.json. This is how > > it reads about qmp_cpu: > > > > > > # This command is a nop that is only provided for the purposes of > > compatibility. > > # > > # Since: 0.14.0 > > # > > # Notes: Do not use this command. > > > > Should we change it to mention that the command is deprecated, something > > like: > > > > # Notes: Do not use this command - it is deprecated and will disappear in > > the future. > > > > > > Or just adding the deprecation note in qemu-doc.texi is enough? > > Lets modify the QAPI file too, since you never know what users will read > first ! +1 Regards, -Satheesh. > > Regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| >
diff --git a/qemu-doc.texi b/qemu-doc.texi index f7317dfc66..2b63f9a325 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2516,6 +2516,12 @@ subsystem image. The ``convert -s snapshot_id_or_name'' argument is obsoleted by the ``convert -l snapshot_param'' argument instead. +@section System emulator machine protocol commands + +@subsection qmp_cpu (since 2.12.0) + +The ``qmp_cpu'' command is deprecated. Do not use this command. + @section System emulator human monitor commands @subsection host_net_add (since 2.10.0) diff --git a/qmp.c b/qmp.c index e8c303116a..d8543d713d 100644 --- a/qmp.c +++ b/qmp.c @@ -115,7 +115,7 @@ void qmp_system_powerdown(Error **erp) void qmp_cpu(int64_t index, Error **errp) { - /* Just do nothing */ + error_setg(errp, "qmp_cpu is deprecated, do not use this command"); } void qmp_cpu_add(int64_t id, Error **errp)
qmp_cpu is a nop that was created a while ago in commit 755f196898 ("qapi: Convert the cpu command") for the sake of compatibility, due to the existence of hmp_cpu. Today, there is no need or requirement to keep it as is. QMP is meant to be as stateless as possible, thus any QMP command that needs a specific monitor CPU setup should provide it in its arguments, instead of relying in the current QMP monitor state. This patch flags qmp_cpu as deprecated in qemu-doc.texi and changes qmp_cpu body to show a deprecation message if used. Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> --- Although I've changed the behavior of qmp_cpu to return an error instead of doing nothing, no errors were found in the Travis build of the patch. Code inspection confirms that qmp_cpu isn't being used in QEMU. A quick inspection in Libvirt code shows that there is no reference to 'qmp_cpu' there either, but to be sure I've CCed Daniel here so he can comment/confirm if Libvirt does not care for this change. qemu-doc.texi | 6 ++++++ qmp.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-)