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
signature.asc
Description: OpenPGP digital signature