From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: vilanova@ac.upc.edu, pbonzini@redhat.com, akong@redhat.com,
mdroth@linux.vnet.ibm.com, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH 12/13] qapi: Replace uncommon use of the error API by the common one
Date: Mon, 05 May 2014 15:43:57 -0600 [thread overview]
Message-ID: <5368061D.9090201@redhat.com> (raw)
In-Reply-To: <1399034675-17844-13-git-send-email-armbru@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1616 bytes --]
On 05/02/2014 06:44 AM, Markus Armbruster wrote:
> We commonly use the error API like this:
>
> However, mixing the two techniques is confusing. You can't use the
> "accumulate" technique with functions designed for the "check
> separately" technique. You can use the "check separately" technique
> with functions designed for the "accumulate" technique, but then
> error_set() can't catch you setting an error more than once.
Nice comparison of the two techniques.
>
> Standardize on the "check separately" technique for now, because it's
> overwhelmingly prevalent.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
> +++ b/hw/virtio/virtio-balloon.c
> @@ -121,23 +121,27 @@ static void balloon_stats_get_all(Object *obj, struct Visitor *v,
> visit_start_struct(v, NULL, NULL, "stats", 0, &err);
> if (err) {
> goto out_end;
> }
> -
> - for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) {
> + for (i = 0; err && i < VIRTIO_BALLOON_S_NR; i++) {
Oops; logic error makes this loop dead code.
s/err/!err/
> @@ -502,7 +503,7 @@ fdecl.write(mcgen('''
> /* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY */
>
> /*
> - * schema-defined QAPI visitor function
> + * schema-defined QAPI visitor functions
Unrelated typo fix; could go in separately via -trivial if you were so
inclined, but I don't mind it going in here.
If the logic error is the only fix,
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2014-05-05 21:44 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 12:44 [Qemu-devel] [PATCH 00/13] qapi: Purge error_is_set() Markus Armbruster
2014-05-02 12:44 ` [Qemu-devel] [PATCH 01/13] qapi: Update qapi-code-gen.txt example to match current code Markus Armbruster
2014-05-04 2:40 ` Eric Blake
2014-05-05 6:49 ` Markus Armbruster
2014-05-05 14:20 ` Eric Blake
2014-05-07 7:51 ` Markus Armbruster
2014-05-02 12:44 ` [Qemu-devel] [PATCH 02/13] qapi: Normalize marshalling's visitor initialization and cleanup Markus Armbruster
2014-05-05 14:32 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 03/13] qapi: Remove unused Visitor callbacks start_handle(), end_handle() Markus Armbruster
2014-05-05 16:51 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 04/13] qapi: Replace start_optional()/end_optional() by optional() Markus Armbruster
2014-05-05 17:09 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 05/13] qapi-visit.py: Clean up confusing push_indent() / pop_indent() use Markus Armbruster
2014-05-05 17:12 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 06/13] qapi: Clean up shadowing of parameters and locals in inner scopes Markus Armbruster
2014-05-05 20:42 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 07/13] qapi-visit.py: Clean up a sloppy use of field prefix Markus Armbruster
2014-05-05 20:44 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 08/13] qapi: Un-inline visit of implicit struct Markus Armbruster
2014-05-05 20:48 ` Eric Blake
2014-05-06 12:30 ` Markus Armbruster
2014-05-02 12:44 ` [Qemu-devel] [PATCH 09/13] hmp: Call visit_end_struct() after visit_start_struct() succeeds Markus Armbruster
2014-05-05 20:50 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 10/13] hw: Don't call visit_end_struct() after visit_start_struct() fails Markus Armbruster
2014-05-05 20:56 ` Eric Blake
2014-05-06 12:22 ` Markus Armbruster
2014-05-02 12:44 ` [Qemu-devel] [PATCH 11/13] tests: " Markus Armbruster
2014-05-05 21:12 ` Eric Blake
2014-05-02 12:44 ` [Qemu-devel] [PATCH 12/13] qapi: Replace uncommon use of the error API by the common one Markus Armbruster
2014-05-05 21:43 ` Eric Blake [this message]
2014-05-06 12:32 ` Markus Armbruster
2014-05-02 12:44 ` [Qemu-devel] [PATCH 13/13] error: error_is_set() is finally unused; remove Markus Armbruster
2014-05-05 21:45 ` Eric Blake
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=5368061D.9090201@redhat.com \
--to=eblake@redhat.com \
--cc=akong@redhat.com \
--cc=armbru@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vilanova@ac.upc.edu \
/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).