On 09/06/2012 08:54 PM, Bharata B Rao wrote:
Vijay - would really like to have your inputs here... - While the transport-type for a volume is shown as tcp in "gluster volume info", libgfapi forces me to use transport=socket to access the same volume from QEMU. So does "socket" mean "tcp" really ? If so, should I just switch over to using transport=tcp from QEMU ? If not, can you explain a bit about the difference b/n socket and tcp transport types ?
I suggest that we switch over to using transport=tcp. "socket" is a generic abstraction that is used by various transport types - tcp, rdma and unix. This needs to change in libfgapi as well and that should happen shortly.
- Also apart from socket (or tcp ?), rdma and unix, are there any other transport options that QEMU should care about ?
The ones you enumerate should be good enough.
- Are rdma and unix transport types operational at the moment ? If not, do you see them being used in gluster any time in the future ? The reason behind asking this is to check if we are spending effort in defining semantics in QEMU for a transport type that is never going to be used in gluster. Also I see that "gluster volume create" supports tcp and rdma but doesn't list unix as an option.
Yes, both rdma and unix transport types are operational at the moment. From a volume perspective, only tcp and rdma are valid types right now. unix transport is used for communication between related gluster processes on the same node. There could be cases where the need to talk to glusterd on the localhost through "unix" transport type might arise. Hence we can define semantics for all three types - tcp, rdma and unix.
Thanks, Vijay