On Thu, Sep 06, 2012 at 11:29:36AM +0300, Avi Kivity wrote: > On 08/14/2012 12:58 PM, Kevin Wolf wrote: > > > >> While we are at this, let me bring out another issue. Gluster supports 3 > >> transport types: > >> > >> - socket in which case the server will be hostname, ipv4 or ipv4 address. > >> - rdma in which case server will be interpreted similar to socket. > >> - unix in which case server will be a path to unix domain socket and this > >> will look like any other filesystem path. (Eg. /tmp/glusterd.socket) > >> > >> I don't think we can fit 'unix' within the standard URI scheme (RFC 3986) > >> easily, but I am planning to specify the 'unix' transport as below: > >> > >> gluster://[/path/to/unix/domain/socket]/volname/image?transport=unix > >> > >> i,e., I am asking the user to put the unix domain socket path within > >> square brackets when transport type is unix. > >> > >> Do you think this is fine ? > > > > Never saw something like this before, but it does seem reasonable to me. > > Excludes ] from the valid characters in the file name of the socket, but > > that shouldn't be a problem in practice. > > Bikeshedding, but I prefer > > gluster:///path/to/unix/domain/socket:/volname/image?transport=unix
So if the unix domain socket is /tmp/glusterd.socket, then this would look like: gluster:///tmp/glusterd.socket:/volname/image?transport=unix. So you are saying : will the separator b/n the unix domain socket path and rest of the URI components. Unless you or others strongly feel about this, I would like to go with [ ] based spec, which I feel is less prone to errors like missing a colon by mistake :) > > as being more similar to file://, or even > > gluster:///path/to/unix/domain/socket/volname/image?transport=unix > > with the last two components implied to be part of the payload, not the > path. Note that image is a file path by itself like /dir1/a.img. So I guess it becomes difficult to figure out where the unix domain socket path ends and rest of the URI components begin w/o a separator in between. Regards, Bharata.