From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:49415) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubmcg-0006qs-VF for qemu-devel@nongnu.org; Mon, 13 May 2013 02:52:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ubmce-0006fj-E6 for qemu-devel@nongnu.org; Mon, 13 May 2013 02:52:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56107) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubmce-0006fZ-6Y for qemu-devel@nongnu.org; Mon, 13 May 2013 02:52:36 -0400 Message-ID: <51908E3A.5050305@redhat.com> Date: Mon, 13 May 2013 08:54:50 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <1368225970-28506-1-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1368225970-28506-1-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 00/11] qapi: add support for lists of native types List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: akong@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com On 05/11/13 00:45, Michael Roth wrote: > These patches apply on top of qemu.git master, and can also be obtained from: > git://github.com/mdroth/qemu.git qapi-native-lists > > Sending this now since a number of series have popped up in the past that > wanted this, and Amos has some pending patches (query-mac-tables) that rely > on this as well. > > These patches add support for specifying lists of native qapi types > (int/bool/str/number/int8/uint8/etc) like so: > > { 'type': 'foo', > 'data': { 'bar': ['int'] }} > > for a 'bar' field that is a list of type 'int', > > { 'type': 'foo2', > 'data': { 'bar2': ['str'] }} > > for a 'bar2' field that is a list of type 'str', and so on. > > This uses linked list types for the native C representations, just as we do > for complex schema-defined types. In the future we may add schema annotations > of some sort to specify a more natural/efficient array type for the C > representations, but this should serve the majority of uses-cases for now. > > v2->v3: > * added native list support for fixed-width integer types (Amos) > * added fixed-width integer list coverage to serialization, > QMPOutputVisitor, and QmpInputVisitor unit tests > * added unit test to QmpInputVisitor to test new overflow handling when > integers types are expected (Eric) > * clarified terminology/documentation in json parser fix (Laszlo) > * fixed whitespace/newlines in code generator output (Luiz) > > v1->v2: > * fixed do-nothing float tests in pre-existing code and updated new > unit tests accordingly (Laszlo) > * added a fix for a bug in json parser that was exposed by above change > * fixed misuse of string format parameters for float testing (Laszlo) > * fixed extra characters in comment (Laszlo) > * removed unused variant from UserDefNativeListUnion QAPI type > > Makefile | 6 +- > qapi-schema-test.json | 15 ++ > qobject/json-parser.c | 26 +- > scripts/qapi-types.py | 45 +++- > scripts/qapi-visit.py | 36 ++- > scripts/qapi.py | 23 ++ > tests/test-qmp-input-visitor.c | 358 ++++++++++++++++++++++++++ > tests/test-qmp-output-visitor.c | 332 ++++++++++++++++++++++++ > tests/test-visitor-serialization.c | 485 +++++++++++++++++++++++++++++++++--- > 9 files changed, 1274 insertions(+), 52 deletions(-) > I compared the patches with their v2 counterparts, and read the new patch. Reviewed-by: Laszlo Ersek