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 <ashish.mit...@veritas.com>
> ---
> 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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to