Il 07/09/2012 05:24, Bharata B Rao ha scritto:
>>   gluster:///volname/image?transport=unix&sockpath=/path/to/unix/sock
>             ^why 3 /// here ? volname is not a path, but image is.

Because the host is the local computer, i.e. empty.

> gluster://server[:port]/volname/path/to/image[?transport=...]
> 
> With that, the different options possible are
> 
> unix - 
> gluster://testvol/dir/a.img?transport=unix&sockpath=/tmp/glusterd.socket
> ipv4 - gluster://1.2.3.4:0/testvol/dir/a.img?transport=socket
> ipv6 - gluster://[1:2:3:4:5:6:7:8]:0/testvol/a.img
> hostname - gluster://example.org/testvol/dir/a.img
> rdma - gluster://1.2.3.4:0/testvol/a.img?transport=rdma
> 
> Does this look complete from the specification point of view ?

Hmm, why don't we do the exact same thing as libvirt 
(http://libvirt.org/remote.html):

ipv4 - gluster+tcp://1.2.3.4:0/testvol/dir/a.img
ipv6 - gluster+tcp://[1:2:3:4:5:6:7:8]:0/testvol/a.img
host - gluster+tcp://example.org/testvol/dir/a.img
unix - gluster+unix:///testvol/dir/a.img?socket=/tmp/glusterd.socket
rdma - gluster+rdma://1.2.3.4:0/testvol/a.img

Where the default transport is tcp (i.e. gluster+tcp is the same as gluster).
This is easily extensible, theoretically you could have something like this:

ssh - gluster+ssh://user@host/testvol/a.img?socket=/tmp/glusterd.socket

Paolo

Reply via email to