diff mbox

[v9,06/37] balloon: Improve use of qapi visitor

Message ID 1453219845-30939-7-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake Jan. 19, 2016, 4:10 p.m. UTC
Rework the control flow of balloon_stats_get_all() to make it
easier for a later patch to split visit_end_struct().  Also
switch to the uint64 visitor to match the data type.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
v9: no change
v8: no change
v7: place earlier in series
v6: new patch, split from RFC on v5 7/46
---
 hw/virtio/virtio-balloon.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Markus Armbruster Jan. 20, 2016, 2:09 p.m. UTC | #1
Eric Blake <eblake@redhat.com> writes:

> Rework the control flow of balloon_stats_get_all() to make it
> easier for a later patch to split visit_end_struct().  Also
> switch to the uint64 visitor to match the data type.
>
> Signed-off-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> ---
> v9: no change
> v8: no change
> v7: place earlier in series
> v6: new patch, split from RFC on v5 7/46
> ---
>  hw/virtio/virtio-balloon.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index 9671635..1ce987a 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -130,10 +130,13 @@ static void balloon_stats_get_all(Object *obj, struct Visitor *v,
>      if (err) {
>          goto out_end;
>      }
> -    for (i = 0; !err && i < VIRTIO_BALLOON_S_NR; i++) {
> -        visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i],
> -                         &err);
> +    for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) {
> +        visit_type_uint64(v, &s->stats[i], balloon_stat_names[i], &err);
> +        if (err) {
> +            goto out_nested;
> +        }
>      }
> +out_nested:
>      error_propagate(errp, err);
>      err = NULL;
>      visit_end_struct(v, &err);

What's wrong with plain break?

Hmm, PATCH 33 inserts something between the loop and the label.  I
would've used break here regardless of the extra churn, just to avoid
review hiccups like this one.  Too late now :)
diff mbox

Patch

diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 9671635..1ce987a 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -130,10 +130,13 @@  static void balloon_stats_get_all(Object *obj, struct Visitor *v,
     if (err) {
         goto out_end;
     }
-    for (i = 0; !err && i < VIRTIO_BALLOON_S_NR; i++) {
-        visit_type_int64(v, (int64_t *) &s->stats[i], balloon_stat_names[i],
-                         &err);
+    for (i = 0; i < VIRTIO_BALLOON_S_NR; i++) {
+        visit_type_uint64(v, &s->stats[i], balloon_stat_names[i], &err);
+        if (err) {
+            goto out_nested;
+        }
     }
+out_nested:
     error_propagate(errp, err);
     err = NULL;
     visit_end_struct(v, &err);