[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v13 2/3] migration: Create socket-address parame
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v13 2/3] migration: Create socket-address parameter |
Date: |
Wed, 20 Feb 2019 08:03:45 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
On 2/20/19 3:22 AM, Juan Quintela wrote:
> It will be used to store the uri parameters. We want this only for
> tcp, so we don't set it for other uris. We need it to know what port
> is migration running.
>
> Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> Signed-off-by: Juan Quintela <address@hidden>
>
> --
> +++ b/qapi/migration.json
> @@ -6,6 +6,7 @@
> ##
>
> { 'include': 'common.json' }
> +{ 'include': 'sockets.json' }
>
> ##
> # @MigrationStats:
> @@ -199,6 +200,8 @@
> # @compression: migration compression statistics, only returned if
> compression
> # feature is on and status is 'active' or 'completed' (Since 3.1)
> #
> +# @socket-address: Only used for tcp, to know what the real port is (Since
> 4.0)
> +#
> # Since: 0.14.0
> ##
> { 'struct': 'MigrationInfo',
> @@ -213,7 +216,8 @@
> '*error-desc': 'str',
> '*postcopy-blocktime' : 'uint32',
> '*postcopy-vcpu-blocktime': ['uint32'],
> - '*compression': 'CompressionStats'} }
> + '*compression': 'CompressionStats',
> + '*socket-address': ['SocketAddress'] } }
>
Okay, I actually tried compiling your patch with the following hunk:
> ##
> # @query-migrate:
> diff --git a/qapi/sockets.json b/qapi/sockets.json
> index fc81d8d5e8..d7f77984af 100644
> --- a/qapi/sockets.json
> +++ b/qapi/sockets.json
> @@ -152,3 +152,16 @@
> 'unix': 'UnixSocketAddress',
> 'vsock': 'VsockSocketAddress',
> 'fd': 'String' } }
> +
> +##
> +# @DummyStruct:
> +#
> +# Both block-core and migration needs SocketAddressList
> +# I am open to comments about how to share it
> +#
> +# @dummy-list: A dummy list
> +#
> +# Since: 3.1
4.0
> +##
> +{ 'struct': 'DummyStruct',
> + 'data': { 'dummy-list': ['SocketAddress'] } }
>
removed, and got:
In file included from qapi/qapi-types-migration.c:15:
qapi/qapi-types-migration.h:267:5: error: unknown type name
‘SocketAddressList’
SocketAddressList *socket_address;
^~~~~~~~~~~~~~~~~
make: *** [/home/eblake/qemu/rules.mak:69: qapi/qapi-types-migration.o]
Error 1
That says we have a bug in our QAPI generator - the type
SocketAddressList should be auto-generated at the point where it is
needed in migration.json. Markus, any ideas why we are not properly
auto-generating an array type when the only use of that array comes from
a different module than where the original type was declared?
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org