From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAOX1-0003eV-9N for qemu-devel@nongnu.org; Wed, 01 Jul 2015 16:23:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAOWw-0006DL-6Q for qemu-devel@nongnu.org; Wed, 01 Jul 2015 16:22:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33237) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAOWv-0006Cf-Ub for qemu-devel@nongnu.org; Wed, 01 Jul 2015 16:22:50 -0400 From: Markus Armbruster Date: Wed, 1 Jul 2015 22:22:30 +0200 Message-Id: <1435782155-31412-43-git-send-email-armbru@redhat.com> In-Reply-To: <1435782155-31412-1-git-send-email-armbru@redhat.com> References: <1435782155-31412-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH RFC v2 42/47] qapi-schema: Fix up misleading specification of netdev_add List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, berto@igalia.com, mdroth@linux.vnet.ibm.com It doesn't take a 'props' argument, let alone one in the format "NAME=VALUE,..." The bogus arguments specification doesn't matter due to 'gen': false. Clean it up to be incomplete rather than wrong, and document the incompleteness. Signed-off-by: Markus Armbruster --- docs/qapi-code-gen.txt | 2 +- qapi-schema.json | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/qapi-code-gen.txt b/docs/qapi-code-gen.txt index bf9e854..2367c66 100644 --- a/docs/qapi-code-gen.txt +++ b/docs/qapi-code-gen.txt @@ -466,7 +466,7 @@ try to avoid adding new commands that rely on this, and instead use type-safe unions. For an example of bypass usage: { 'command': 'netdev_add', - 'data': {'type': 'str', 'id': 'str', '*props': '**'}, + 'data': {'type': 'str', 'id': 'str'}, 'gen': false } Normally, the QAPI schema is used to describe synchronous exchanges, diff --git a/qapi-schema.json b/qapi-schema.json index 815689a..e246acb 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -2062,11 +2062,12 @@ # # @id: the name of the new network backend # -# @props: #optional a list of properties to be passed to the backend in -# the format 'name=value', like 'ifname=tap0,script=no' +# Additional arguments depend on the type. # -# Notes: The semantics of @props is not well defined. Future commands will be -# introduced that provide stronger typing for backend creation. +# TODO This command effectively bypasses QAPI completely due to its +# "additional arguments" business. It shouldn't have been added to +# the schema in this form. It should be qapified properly, or +# replaced by a properly qapified command. # # Since: 0.14.0 # @@ -2074,8 +2075,8 @@ # If @type is not a valid network backend, DeviceNotFound ## { 'command': 'netdev_add', - 'data': {'type': 'str', 'id': 'str', '*props': '**'}, - 'gen': false } + 'data': {'type': 'str', 'id': 'str'}, + 'gen': false } # so we can get the additional arguments ## # @netdev_del: -- 1.9.3