On Fri, Jun 10, 2016 at 03:14:52AM +0000, Ashish Mittal wrote: > I tried using “git send-email”, but unfortunately: > (a) Internal firewall blocks git communication to outside world. I was > thinking of using a http based read-only repo, but I guess that would be a > bit older code. Do you know of a http based git repo mirror that I can > reliably use for "git pull” etc? We have automatically updated mirrors: https://gitlab.com/libvirt/libvirt https://github.com/libvirt/libvirt they should never be more than 60 minutes old > (b) git send-email is not working for me. I am having trouble setting it > up to forward emails via my official MS Exchange server account. Ok, if that doesn't work, the usual tip is to use 'git format-patch -1' which generates a suitable formatted patch file you can copy and paste into the *body* of the email - just be sure that your email client doesn't mangle whitespace. If you must use an attachment, please make sure it gets "text/plain" not "application/octet-stream". BTW, we usually recommend people start a new top level mail thread for each new version of a patch that is posted, and use the git commit message first line, as the subject of the mail, and include the version. eg this would be suitable "[PATCH v2] Enable Veritas OpenFlame functionality" > Here’s the same output from the new test: > 127) QEMU XML-2-ARGV disk-drive-network-rbd-no-colon ... > Got expected error: > 2016-06-10 00:39:27.543+0000: 607: error : qemuBuildNetworkDriveURI:859 : > unsupported configuration: ':' not allowed in RBD source volume name > 'poolname/imagename:rbd_cache=1:rbd_cache_size=67108864:rbd_cache_max_dirty > =0' > OK > 128) QEMU XML-2-ARGV disk-drive-network-oflame ... > OK > 129) QEMU XML-2-ARGV disk-drive-no-boot ... > OK > From 069fe0bafd526a20c1630d32ff481e33acf0781c Mon Sep 17 00:00:00 2001 > From: Ashish Mittal <ashish.mittal@xxxxxxxxxxx> > Date: Thu, 9 Jun 2016 19:52:12 -0700 > Subject: [PATCH] Bug 1341866 Enable Veritas OpenFlame functionality on RedHat > OSP8 platform > > Request to upstream libvirt dependencies for qemu based network block driver from Veritas. No need to talk about Red Hat / OSP or the bug number in this commit message. Just describe what it is that the patch is doing from a purely technical POV. Since you're enabling use of new XML,it would be helpful to include the example <disk> XML snippet in the commit message for clarity. > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index b5d84e6..162f807 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -497,6 +497,7 @@ qemuNetworkDriveGetPort(int protocol, > return 0; > > case VIR_STORAGE_NET_PROTOCOL_RBD: > + case VIR_STORAGE_NET_PROTOCOL_OFLAME: > case VIR_STORAGE_NET_PROTOCOL_LAST: > case VIR_STORAGE_NET_PROTOCOL_NONE: > /* not applicable */ > @@ -894,6 +895,56 @@ qemuBuildNetworkDriveURI(virStorageSourcePtr src, > ret = virBufferContentAndReset(&buf); > break; > > + case VIR_STORAGE_NET_PROTOCOL_OFLAME: > + if (VIR_ALLOC(uri) < 0) > + goto cleanup; > + > + if (src->hosts->transport == VIR_STORAGE_NET_HOST_TRANS_TCP) { > + if (VIR_STRDUP(uri->scheme, > + virStorageNetProtocolTypeToString(src->protocol)) < 0) > + goto cleanup; > + } else { > + if (virAsprintf(&uri->scheme, "%s+%s", > + virStorageNetProtocolTypeToString(src->protocol), > + virStorageNetHostTransportTypeToString(src->hosts->transport)) < 0) > + goto cleanup; > + } > + > + if (src->path) { > + if (src->volume) { > + if (virAsprintf(&uri->path, "/%s%s", > + src->volume, src->path) < 0) > + goto cleanup; > + } else { > + if (virAsprintf(&uri->path, "%s%s", > + src->path[0] == '/' ? "" : "/", > + src->path) < 0) > + goto cleanup; > + } > + } > + > + if (src->hosts->socket && > + virAsprintf(&uri->query, "socket=%s", src->hosts->socket) < 0) > + goto cleanup; > + > + if (qemuBuildGeneralSecinfoURI(uri, secinfo) < 0) > + goto cleanup; > + > + for (i = 0; i < src->nhosts; i++) { > + if ((uri->port = qemuNetworkDriveGetPort(src->protocol, src->hosts[i].port)) < 0) > + goto cleanup; > + > + if (VIR_STRDUP(uri->server, src->hosts[i].name) < 0) > + goto cleanup; > + > + ret = virURIFormat(uri); > + virBufferEscape(&buf, ',', ",", "%s", ret); > + virReportError(VIR_ERR_INTERNAL_ERROR, Your indentation got a little messed up here. > + _("qemuBuildOFlameString builturi '%s'"), ret); > + } > + > + ret = virBufferContentAndReset(&buf); > + break; > > case VIR_STORAGE_NET_PROTOCOL_LAST: > case VIR_STORAGE_NET_PROTOCOL_NONE: > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-oflame.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-oflame.args > new file mode 100644 > index 0000000..5083cae > --- /dev/null > +++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-oflame.args > @@ -0,0 +1,24 @@ > +-drive file=oflame://192.168.0.1:9999/%7Beb90327c-8302-4725-9e1b-4e85ed4dc251%7D\ > +oflame://172.172.17.56:9999/%7Beb90327c-8302-4725-9e1b-4e85ed4dc251%7D,\ Hmm, unless I'm mis-reading this, there is no separator between the two URIs you're providing - is there a missing ',' or something similar. Slightly off topic for the libvirt list, but I would be pretty surprised if the QEMU developers accepted patches using this URI syntax for providing multiple servers. A similar approach was originally proposed for the glusterfs driver and the submitter was told to write it a different way, not using the legacy URI syntax at all, but instead a QAPI based syntax: https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg04126.html So the sooner you can submit your QEMU patches to the qemu-devel mailing list the better, as we'll need to get clarity on the accepted QEMU syntax in order to proceed further with libvirt patch review. Broadly speaking I think the patch you've proposed looks pretty much fine now. I'd have a slight preference for it to be done as two patches. One patch adds the XML schema, parser changes, etc. The second patch just does the QEMU driver integration & unit tests. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list