[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] block/vxhs: Add Veritas HyperScale VxHS bloc
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v3] block/vxhs: Add Veritas HyperScale VxHS block device support |
Date: |
Fri, 28 Oct 2016 09:44:50 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 10/28/2016 02:44 AM, Ashish Mittal wrote:
> This patch adds support for a new block device type called "vxhs".
> Source code for the qnio library that this code loads can be downloaded from:
> https://github.com/MittalAshish/libqnio.git
>
> Sample command line using the JSON syntax:
> ./qemu-system-x86_64 -name instance-00000008 -S -vnc 0.0.0.0:0 -k en-us
> -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
> -msg timestamp=on
> 'json:{"driver":"vxhs","vdisk_id":"{c3e9095a-a5ee-4dce-afeb-2a59fb387410}",
> "server":{"host":"172.172.17.4","port":"9999"}}'
Are the {} really part of vdisk_id? That's not a usual portion of a
UUID. And it should probably be spelled vdisk-id.
It's a shame that port is a string and not an int, but it matches
existing practice, so that part is correct.
>
> Sample command line using the URI syntax:
> qemu-img convert -f raw -O raw -n
> /var/lib/nova/instances/_base/0c5eacd5ebea5ed914b6a3e7b18f1ce734c386ad
> vxhs://192.168.0.1:9999/%7Bc6718f6b-0401-441d-a8c3-1f0064d75ee0%7D
>
The URI syntax is potentially harder to use when compared to structured
usage (Kevin's work to add -blockdev, which depends on the QAPI definition).
> Signed-off-by: Ashish Mittal <address@hidden>
> ---
> v3 changelog:
> (1) Added QAPI schema for the VxHS driver.
>
For this email, I'm focusing just on the QAPI.
> +++ b/qapi/block-core.json
> @@ -1708,7 +1708,7 @@
> ##
> { 'enum': 'BlockdevDriver',
> 'data': [ 'archipelago', 'blkdebug', 'blkverify', 'bochs', 'cloop',
> - 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom',
> + 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom', 'vxhs',
> 'host_device', 'http', 'https', 'luks', 'null-aio', 'null-co',
Missing mention of the new enum value in the comments above.
> 'parallels', 'qcow', 'qcow2', 'qed', 'quorum', 'raw',
> 'replication', 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] }
> @@ -2220,6 +2220,21 @@
> 'data': { 'filename': 'str' } }
>
> ##
> +# @BlockdevOptionsVxHS
> +#
> +# Driver specific block device options for VxHS
> +#
> +# @vdisk_id: UUID of VxHS volume
Again, this should be vdisk-id.
> +#
> +# @server: vxhs server IP, port
> +#
> +# Since: 2.7
You missed 2.7; this should be 2.8 (if you make soft freeze) or even 2.9.
> +##
> +{ 'struct': 'BlockdevOptionsVxHS',
> + 'data': { 'vdisk_id': 'str',
> + 'server': 'InetSocketAddress' } }
Is there any way to use a Unix socket, or is this server ONLY accessible
over IPv4/IPv6?
> +
> +##
> # @BlockdevOptions
> #
> # Options for creating a block device. Many options are available for all
> @@ -2283,7 +2298,8 @@
> 'vhdx': 'BlockdevOptionsGenericFormat',
> 'vmdk': 'BlockdevOptionsGenericCOWFormat',
> 'vpc': 'BlockdevOptionsGenericFormat',
> - 'vvfat': 'BlockdevOptionsVVFAT'
> + 'vvfat': 'BlockdevOptionsVVFAT',
> + 'vxhs': 'BlockdevOptionsVxHS'
> } }
>
> ##
>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature