On Fri, Oct 28, 2016 at 02:30:47PM -0700, ashish mittal wrote: > Hi Eric, > > On Fri, Oct 28, 2016 at 7:44 AM, Eric Blake <ebl...@redhat.com> wrote: > > 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. > > > > The {} are not required for qemu/libqnio or the test server. It is > just some artifact that our openstack components need. Then test > server does not need {} at all. I will remove it from the sample > command syntax in v4. > > > 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). > > > > We decided to keep both after discussion with other reviewers. Do > qemu-img and qemu-io binaries support json syntax similar to > qemu-system-x86_64? > > >> 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. > > > > Will fix in v4. > > >> '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. > > > Will fix in v4. > > >> +# > >> +# @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. > > > Will fix in v4. > > >> +## > >> +{ '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? > > > > Right now we support IPv4 only.
IMHO it should allow use of UNIX sockets, as its possible to have SSH setup a tunnel to a IP server, and expose the endpoint via a UNIX socket. So even if your reference server only supports IPv4, users can conceivably connect with any sockets protocol. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|