Why not use -drive file=gluster://server[:port]/volname/image
A great many protocols today use the form <protocol>://<server>:<port>]/<path> so this would make it consistent with a lot of other naming schemes out there, and imho make the url more intuitive. FTP looks like this : ftp://user:password@host:port/path NFS looks like this : nfs://<host>:<port><url-path> CIFS looks like this : smb://[[[authdomain;]user@]host[:port][/share[/path][/name]]][?context] For iSCSI we use : iscsi://<server>[:<port>]/<target>/<lun> (The iscsi syntax was picked explicitely to be consistent with the de-facto url naming scheme.) I would argue that this is the de-facto way to create a url for different protocols, so it would imho be natural to specify a glusterfs url in a similar format. ronnie sahlberg On Mon, Jul 23, 2012 at 7:16 PM, Daniel P. Berrange <[email protected]> wrote: > On Sat, Jul 21, 2012 at 01:59:17PM +0530, Bharata B Rao wrote: >> Hi, >> >> Here is the v2 patchset for supporting GlusterFS protocol from QEMU. >> >> This set of patches enables QEMU to boot VM images from gluster volumes. >> This is achieved by adding gluster as a new block backend driver in QEMU. >> Its already possible to boot from VM images on gluster volumes, but this >> patchset provides the ability to boot VM images from gluster volumes by >> by-passing the FUSE layer in gluster. In case the image is present on the >> local system, it is possible to even bypass client and server translator and >> hence the RPC overhead. >> >> The major change in this version is to not implement libglusterfs based >> gluster backend within QEMU but instead use libgfapi. libgfapi library >> from GlusterFS project provides APIs to access gluster volumes directly. >> With the use of libgfapi, the specification of gluster backend from QEMU >> matches more closely with the GlusterFS's way of specifying volumes. We now >> specify the gluster backed image like this: >> >> -drive file=gluster:server@port:volname:image >> >> - Here 'gluster' is the protocol. >> - 'server@port' specifies the server where the volume file specification for >> the given volume resides. 'port' is the port number on which gluster >> management daemon (glusterd) is listening. This is optional and if not >> specified, QEMU will send 0 which will make libgfapi to use the default >> port. >> - 'volname' is the name of the gluster volume which contains the VM image. >> - 'image' is the path to the actual VM image in the gluster volume. > > I don't think we should be using '@' as a field separator here, when ":" > can do that job just fine. In addition we already have a precendent set > with the sheepdog driver for using ':' for separating all fields: > > -drive file=sheepdog:example.org:6000:imagename > > If you want to allow for port number to be omitted, this can be handled > thus: > > -drive file=sheepdog:example.org::imagename > > which is how -chardev deals with omitted port numbers > > 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 :| >
