[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 for-2.9 01/11] rbd: Reject -blockdev serv
From: |
Jeff Cody |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 for-2.9 01/11] rbd: Reject -blockdev server.*.{numeric, to, ipv4, ipv6} |
Date: |
Mon, 27 Mar 2017 15:56:45 -0400 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Mar 27, 2017 at 03:26:25PM +0200, Markus Armbruster wrote:
> We use InetSocketAddress in the QAPI schema. However, the code
> doesn't use inet_connect_saddr(), but formats "host" and "port" into a
> configuration string for rados_conf_set(). Thus, members "numeric",
> "to", "ipv4" and "ipv6" are silently ignored. Not nice. Example:
>
> -blockdev
> rbd,node-name=nn,pool=p,image=i,server.0.host=h0,server.0.port=12345,server.0.ipv4=off
>
> Factor a suitable InetSocketAddressBase out of InetSocketAddress, and
> use that. "numeric", "to", "ipv4" and "ipv6" are now rejected.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Jeff Cody <address@hidden>
> ---
> qapi-schema.json | 21 ++++++++++++++-------
> qapi/block-core.json | 2 +-
> 2 files changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 68a4327..b921994 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -4051,19 +4051,27 @@
> 'data': [ 'all', 'rx', 'tx' ] }
>
> ##
> +# @InetSocketAddressBase:
> +#
> +# @host: host part of the address
> +# @port: port part of the address
> +##
> +{ 'struct': 'InetSocketAddressBase',
> + 'data': {
> + 'host': 'str',
> + 'port': 'str' } }
> +
> +##
> # @InetSocketAddress:
> #
> # Captures a socket address or address range in the Internet namespace.
> #
> -# @host: host part of the address
> -#
> -# @port: port part of the address, or lowest port if @to is present
> -#
> # @numeric: true if the host/port are guaranteed to be numeric,
> # false if name resolution should be attempted. Defaults to false.
> # (Since 2.9)
> #
> -# @to: highest port to try
> +# @to: If present, this is range of possible addresses, with port
> +# between @port and @to.
> #
> # @ipv4: whether to accept IPv4 addresses, default try both IPv4 and IPv6
> #
> @@ -4072,9 +4080,8 @@
> # Since: 1.3
> ##
> { 'struct': 'InetSocketAddress',
> + 'base': 'InetSocketAddressBase',
> 'data': {
> - 'host': 'str',
> - 'port': 'str',
> '*numeric': 'bool',
> '*to': 'uint16',
> '*ipv4': 'bool',
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 0f132fc..5d2efe4 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -2652,7 +2652,7 @@
> '*conf': 'str',
> '*snapshot': 'str',
> '*user': 'str',
> - '*server': ['InetSocketAddress'],
> + '*server': ['InetSocketAddressBase'],
> '*auth-supported': ['RbdAuthMethod'],
> '*password-secret': 'str' } }
>
> --
> 2.7.4
>
- [Qemu-devel] [PATCH RFC v3 for-2.9 07/11] rbd: Clean up qemu_rbd_create()'s detour through QemuOpts, (continued)
- [Qemu-devel] [PATCH RFC v3 for-2.9 07/11] rbd: Clean up qemu_rbd_create()'s detour through QemuOpts, Markus Armbruster, 2017/03/27
- [Qemu-devel] [PATCH RFC v3 for-2.9 11/11] rbd: Fix bugs around -drive parameter "server", Markus Armbruster, 2017/03/27
- [Qemu-devel] [PATCH RFC v3 for-2.9 09/11] rbd: Revert -blockdev parameter password-secret, Markus Armbruster, 2017/03/27
- [Qemu-devel] [PATCH RFC v3 for-2.9 01/11] rbd: Reject -blockdev server.*.{numeric, to, ipv4, ipv6}, Markus Armbruster, 2017/03/27
- [Qemu-devel] [PATCH RFC v3 for-2.9 05/11] rbd: Don't accept -drive driver=rbd, keyvalue-pairs=..., Markus Armbruster, 2017/03/27
- [Qemu-devel] [PATCH RFC v3 for-2.9 02/11] rbd: Fix to cleanly reject -drive without pool or image, Markus Armbruster, 2017/03/27