Am 07.09.2012 11:36, schrieb Paolo Bonzini:
> 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

I like this. Having the type only as a parameter when it decides how the
schema must be parsed has bothered me from the start, but I hadn't
thought of this way.

Strong +1 from me.

Kevin

Reply via email to