From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Michael Roth" <michael.roth@amd.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Yuval Shaia" <yuval.shaia.ml@gmail.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
qemu-s390x@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>
Subject: Re: [PATCH v4 05/22] docs/devel: update error handling guidance for HMP commands
Date: Thu, 28 Oct 2021 17:14:19 +0100 [thread overview]
Message-ID: <YXrMW3WysIJqFg5N@work-vm> (raw)
In-Reply-To: <20211028155457.967291-6-berrange@redhat.com>
* Daniel P. Berrangé (berrange@redhat.com) wrote:
> Best practice is to use the 'hmp_handle_error' function, not
> 'monitor_printf' or 'error_report_err'. This ensures that the
> message always gets an 'Error: ' prefix, distinguishing it
> from normal command output.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Yes OK; but that is potentially discouraging people from adding helpful
errors; certainly I'd want them to add text if they were calling
multiple qmp functions, so you knew what failed.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> docs/devel/writing-monitor-commands.rst | 19 +++++++------------
> 1 file changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/docs/devel/writing-monitor-commands.rst b/docs/devel/writing-monitor-commands.rst
> index a973c48f66..a381b52024 100644
> --- a/docs/devel/writing-monitor-commands.rst
> +++ b/docs/devel/writing-monitor-commands.rst
> @@ -293,9 +293,7 @@ Here's the implementation of the "hello-world" HMP command::
> Error *err = NULL;
>
> qmp_hello_world(!!message, message, &err);
> - if (err) {
> - monitor_printf(mon, "%s\n", error_get_pretty(err));
> - error_free(err);
> + if (hmp_handle_error(mon, err)) {
> return;
> }
> }
> @@ -307,9 +305,10 @@ There are three important points to be noticed:
> 1. The "mon" and "qdict" arguments are mandatory for all HMP functions. The
> former is the monitor object. The latter is how the monitor passes
> arguments entered by the user to the command implementation
> -2. hmp_hello_world() performs error checking. In this example we just print
> - the error description to the user, but we could do more, like taking
> - different actions depending on the error qmp_hello_world() returns
> +2. hmp_hello_world() performs error checking. In this example we just call
> + hmp_handle_error() which prints a message to the user, but we could do
> + more, like taking different actions depending on the error
> + qmp_hello_world() returns
> 3. The "err" variable must be initialized to NULL before performing the
> QMP call
>
> @@ -466,9 +465,7 @@ Here's the HMP counterpart of the query-alarm-clock command::
> Error *err = NULL;
>
> clock = qmp_query_alarm_clock(&err);
> - if (err) {
> - monitor_printf(mon, "Could not query alarm clock information\n");
> - error_free(err);
> + if (hmp_handle_error(mon, err)) {
> return;
> }
>
> @@ -607,9 +604,7 @@ has to traverse the list, it's shown below for reference::
> Error *err = NULL;
>
> method_list = qmp_query_alarm_methods(&err);
> - if (err) {
> - monitor_printf(mon, "Could not query alarm methods\n");
> - error_free(err);
> + if (hmp_handle_error(mon, err)) {
> return;
> }
>
> --
> 2.31.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2021-10-28 16:46 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-28 15:54 [PATCH v4 00/22] monitor: explicitly permit QMP commands to be added for all use cases Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 01/22] monitor: remove 'info ioapic' HMP command Daniel P. Berrangé
2021-10-29 2:02 ` Peter Xu
2021-10-28 15:54 ` [PATCH v4 02/22] monitor: make hmp_handle_error return a boolean Daniel P. Berrangé
2021-10-28 16:04 ` Dr. David Alan Gilbert
2021-10-28 16:47 ` Philippe Mathieu-Daudé
2021-11-01 15:54 ` Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 03/22] docs/devel: rename file for writing monitor commands Daniel P. Berrangé
2021-10-28 17:09 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 04/22] docs/devel: tweak headings in monitor command docs Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 05/22] docs/devel: update error handling guidance for HMP commands Daniel P. Berrangé
2021-10-28 16:14 ` Dr. David Alan Gilbert [this message]
2021-10-28 15:54 ` [PATCH v4 06/22] monitor: introduce HumanReadableText and HMP support Daniel P. Berrangé
2021-10-28 16:54 ` Philippe Mathieu-Daudé
2021-11-02 15:11 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 07/22] docs/devel: document expectations for QAPI data modelling for QMP Daniel P. Berrangé
2021-11-04 20:32 ` Eric Blake
2021-10-28 15:54 ` [PATCH v4 08/22] docs/devel: add example of command returning unstructured text Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 09/22] docs/devel: document expectations for HMP commands in the future Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 10/22] qapi: introduce x-query-roms QMP command Daniel P. Berrangé
2021-10-28 16:55 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 11/22] qapi: introduce x-query-profile " Daniel P. Berrangé
2021-10-29 11:29 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 12/22] qapi: introduce x-query-numa " Daniel P. Berrangé
2021-10-29 11:28 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 13/22] qapi: introduce x-query-usb " Daniel P. Berrangé
2021-10-28 16:57 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 14/22] qapi: introduce x-query-rdma " Daniel P. Berrangé
2021-10-29 11:26 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 15/22] qapi: introduce x-query-ramblock " Daniel P. Berrangé
2021-10-28 16:58 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 16/22] qapi: introduce x-query-skeys " Daniel P. Berrangé
2021-11-02 15:02 ` Philippe Mathieu-Daudé
2021-11-02 16:05 ` Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 17/22] qapi: introduce x-query-cmma " Daniel P. Berrangé
2021-10-28 17:00 ` Philippe Mathieu-Daudé
2021-11-02 14:53 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 18/22] hmp: synchronize cpu state for lapic info Daniel P. Berrangé
2023-10-26 16:50 ` Woodhouse, David via
2023-10-26 16:50 ` Woodhouse, David
2021-10-28 15:54 ` [PATCH v4 19/22] qapi: introduce x-query-lapic QMP command Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 20/22] qapi: introduce x-query-irq " Daniel P. Berrangé
2021-11-02 14:57 ` Philippe Mathieu-Daudé
2021-11-02 16:02 ` Daniel P. Berrangé
2021-10-28 15:54 ` [PATCH v4 21/22] qapi: introduce x-query-jit " Daniel P. Berrangé
2021-10-28 17:05 ` Philippe Mathieu-Daudé
2021-10-28 15:54 ` [PATCH v4 22/22] qapi: introduce x-query-opcount " Daniel P. Berrangé
2021-10-28 17:08 ` Philippe Mathieu-Daudé
2021-11-01 15:58 ` Daniel P. Berrangé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YXrMW3WysIJqFg5N@work-vm \
--to=dgilbert@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=kraxel@redhat.com \
--cc=lvivier@redhat.com \
--cc=michael.roth@amd.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
--cc=yuval.shaia.ml@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).