qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 00/43] qobject/qapi: add uint type
Date: Fri, 9 Jun 2017 09:06:22 -0400 (EDT)	[thread overview]
Message-ID: <2025405656.32234574.1497013582739.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <87fuf9l4sw.fsf@dusky.pond.sub.org>

Hi

----- Original Message -----
> PATCH 01-41 look ready with minor tweaks.  I chatted with Marc-André,
> and he asked me to apply them myself.  You can find the result at
> https://repo.or.cz/qemu/armbru.git in branch qapi-next.  Marc-André,
> please give it a quick look-over.  If it's good, I'll post a pull
> request later today.

Looks good to me, thanks a lot!

> 
> PATCH 42 is RFC.  I'd like to give PATCH 43 a bit more time on the list.
> 
> Incremental diff for your convenience:
> 
> diff --git a/blockdev.c b/blockdev.c
> index 154c95d..4009dd9 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -335,10 +335,9 @@ static bool parse_stats_intervals(BlockAcctStats *stats,
> QList *intervals,
>          }
>  
>          case QTYPE_QNUM: {
> -            int64_t length;
> +            int64_t length = qnum_get_int(qobject_to_qnum(entry->value));
>  
> -            if (qnum_get_try_int(qobject_to_qnum(entry->value), &length) &&
> -                length > 0 && length <= UINT_MAX) {
> +            if (length > 0 && length <= UINT_MAX) {
>                  block_acct_add_interval(stats, (unsigned) length);
>              } else {
>                  error_setg(errp, "Invalid interval length: %" PRId64,
>                  length);
> diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
> index a8f09c1..68cd653 100644
> --- a/hw/core/qdev-properties.c
> +++ b/hw/core/qdev-properties.c
> @@ -71,7 +71,7 @@ static void set_enum(Object *obj, Visitor *v, const char
> *name, void *opaque,
>  
>  static void set_default_value_enum(Object *obj, const Property *prop)
>  {
> -    object_property_set_str(obj, prop->info->enum_table[prop->defval.u],
> +    object_property_set_str(obj, prop->info->enum_table[prop->defval.i],
>                              prop->name, &error_abort);
>  }
>  
> diff --git a/tests/test-qobject-input-visitor.c
> b/tests/test-qobject-input-visitor.c
> index 3bcdb9a..34bab8a 100644
> --- a/tests/test-qobject-input-visitor.c
> +++ b/tests/test-qobject-input-visitor.c
> @@ -152,6 +152,7 @@ static void test_visitor_in_uint(TestInputVisitorData
> *data,
>      g_assert_cmpuint(res, ==, 18446744073709551574U);
>  
>      visit_type_number(v, NULL, &dbl, &error_abort);
> +    g_assert_cmpfloat(dbl, ==, 18446744073709552000.0);
>  }
>  
>  static void test_visitor_in_int_overflow(TestInputVisitorData *data,
> @@ -161,9 +162,10 @@ static void
> test_visitor_in_int_overflow(TestInputVisitorData *data,
>      Error *err = NULL;
>      Visitor *v;
>  
> -    /* this will overflow a QNUM_I64, so should be deserialized into a
> +    /*
> +     * This will overflow a QNUM_I64, so should be deserialized into a
>       * QNUM_DOUBLE field instead, leading to an error if we pass it to
> -     * visit_type_int. confirm this.
> +     * visit_type_int().  Confirm this.
>       */
>      v = visitor_input_test_init(data, "%f", DBL_MAX);
>  
> diff --git a/tests/test-qobject-output-visitor.c
> b/tests/test-qobject-output-visitor.c
> index d23c8eb..749c540 100644
> --- a/tests/test-qobject-output-visitor.c
> +++ b/tests/test-qobject-output-visitor.c
> @@ -609,11 +609,13 @@ static void check_native_list(QObject *qobj,
>          for (i = 0; i < 32; i++) {
>              QObject *tmp;
>              QNum *qvalue;
> +            uint64_t val;
>  
>              tmp = qlist_peek(qlist);
>              g_assert(tmp);
>              qvalue = qobject_to_qnum(tmp);
> -            g_assert_cmpuint(qnum_get_uint(qvalue), ==, i);
> +            g_assert(qnum_get_try_uint(qvalue, &val));
> +            g_assert_cmpint(val, ==, i);
>              qobject_decref(qlist_pop(qlist));
>          }
>          break;
> 

  reply	other threads:[~2017-06-09 13:06 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 16:35 [Qemu-devel] [PATCH v3 00/43] qobject/qapi: add uint type Marc-André Lureau
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 01/43] qdev: remove PropertyInfo.qtype field Marc-André Lureau
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 02/43] object: fix potential leak in getters Marc-André Lureau
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 03/43] tests: Remove test cases for alternates of 'number' and 'int' Marc-André Lureau
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 04/43] tests: add more int/number ranges checks Marc-André Lureau
2017-06-08 14:55   ` Markus Armbruster
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 05/43] qapi: minor refactoring Marc-André Lureau
2017-06-08 14:57   ` Markus Armbruster
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 06/43] qapi: merge QInt and QFloat in QNum Marc-André Lureau
2017-06-08 15:54   ` Markus Armbruster
2017-06-07 16:35 ` [Qemu-devel] [PATCH v3 07/43] qapi: Remove visit_start_alternate() parameter promote_int Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 08/43] tests: remove /{qnum, qlist, dict}/destroy test Marc-André Lureau
2017-06-08 15:00   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 09/43] qnum: add uint type Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 10/43] json: learn to parse uint64 numbers Marc-André Lureau
2017-06-08 16:27   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 11/43] qapi: update the qobject visitor to use QNUM_U64 Marc-André Lureau
2017-06-08 16:36   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 12/43] object: add uint property setter/getter Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 13/43] q35: fix get_mmcfg_size to use uint64 visitor Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 14/43] object: use more specific property type names Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 15/43] qdev: rename DEFINE_PROP_DEFAULT() to DEFINE_PROP_SIGNED() Marc-André Lureau
2017-06-08 16:42   ` Markus Armbruster
2017-06-08 17:01     ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 16/43] qdev: wrap default property value in an union Marc-André Lureau
2017-06-08 17:01   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 17/43] qdev: avoid type casts between signed and unsigned Marc-André Lureau
2017-06-08 17:08   ` Markus Armbruster
2017-06-09 10:04     ` Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 18/43] apic-common: make "id" property a uint32 Marc-André Lureau
2017-06-08 16:39   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 19/43] qdev: use appropriate getter/setters type Marc-André Lureau
2017-06-08 17:23   ` Markus Armbruster
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 20/43] isa: use get_uint() for "io-base" Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 21/43] pc-dimm: use get_uint() for dimm properties Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 22/43] pc-dimm: make "size" property uint64 Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 23/43] pcihp: use get_uint() for "bsel" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 24/43] aspeed: use {set, get}_uint() for "ram-size" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 25/43] bcm2835_fb: use {get, set}_uint() for "vcram-size" and "vcram-base" Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 26/43] platform-bus: use get_uint() for "addr" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 27/43] acpi: use get_uint() for "acpi-pcihp-io*" properties Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 28/43] acpi: use get_uint() for various acpi properties Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 29/43] acpi: use get_uint() for "pci-hole*" properties Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 30/43] pc: use get_uint() for "iobase" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 31/43] pc: use get_uint() for "apic-id" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 32/43] pc: use get_uint() for "hpet-intcap" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 33/43] xen: use get_uint() for "max-ram-below-4g" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 34/43] arm: use get_uint() for "mp-affinity" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 35/43] auxbus: use get_uint() for "addr" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 36/43] pvpanic: use get_uint() for "ioport" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 37/43] pnv-core: use get_uint() for "core-pir" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 38/43] numa: use get_uint() for "size" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 39/43] i386/cpu: use get_uint() for "min-level"/"min-xlevel" properties Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 40/43] console: use get_uint() for "head" property Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 41/43] tests/qdict: check more get_try_int() cases Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 42/43] RFC: qdict: add uint Marc-André Lureau
2017-06-08 17:25   ` Markus Armbruster
2017-06-09 10:05     ` Marc-André Lureau
2017-06-07 16:36 ` [Qemu-devel] [PATCH v3 43/43] qobject: move dump_qobject() from block/ to qobject/ Marc-André Lureau
2017-06-08 17:43   ` Markus Armbruster
2017-06-09 10:11     ` Marc-André Lureau
2017-06-09 10:15       ` Marc-André Lureau
2017-06-09 12:40         ` Markus Armbruster
2017-06-09 12:46           ` Eric Blake
2017-06-09 14:34     ` Max Reitz
2017-06-07 20:41 ` [Qemu-devel] [PATCH v3 00/43] qobject/qapi: add uint type no-reply
2017-06-08  1:47 ` no-reply
2017-06-09 12:32 ` Markus Armbruster
2017-06-09 13:06   ` Marc-André Lureau [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-06-07 16:30 Marc-André Lureau

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=2025405656.32234574.1497013582739.JavaMail.zimbra@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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).