From f380e2029d608f97e3ba9a728605e1d798b09e8d Mon Sep 17 00:00:00 2001 From: Jiffin Tony Thottan Date: Tue, 21 Oct 2014 08:59:46 -0400 Subject: rdma :mount fails for nfs protocol in rdma volumes When we mount rdma only volume or tcp,rdma volume using newly peer probed IP's(nfs-server on new nodes) through nfs protocol, mount fails for rdma only volume and mount happens with help of tcp protocol in the case of tcp,rdma volumes. That is for newly added servers will always get transport type as "socket". This is due to nfs_transport_type is exported correctly and imported wrongly. This can be verified by the following , * Create a rdma only volume or tcp,rdma volume * Add a new server into the trusted pool. * Checkout the client transport type specified nfs-server volgraph.It will be always tcp(socket type) instead of rdma. * And also for rdma only volume in the nfs log, we can see 'connection refused' message for every reconnect between nfs server and glusterfsd. BUG: 1157381 Change-Id: I6bd4979e31adfc72af92c1da06a332557b6289e2 Author: Jiffin Tony Thottan Signed-off-by: Jiffin Tony Thottan Reviewed-on: http://review.gluster.org/8975 Reviewed-by: Meghana M Reviewed-by: Atin Mukherjee Reviewed-by: Niels de Vos Tested-by: Niels de Vos --- xlators/nfs/server/src/nfs.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'xlators/nfs/server/src/nfs.c') diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c index 31de64cd21d..503f6534ab1 100644 --- a/xlators/nfs/server/src/nfs.c +++ b/xlators/nfs/server/src/nfs.c @@ -846,12 +846,13 @@ nfs_init_state (xlator_t *this) } } - if (dict_get(this->options, "transport-type") == NULL) { - ret = dict_set_str (this->options, "transport-type", "socket"); - if (ret == -1) { - gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_str error"); - goto free_foppool; - } + /* Right only socket support exists between nfs client and + * gluster nfs, so we can set default value as socket + */ + ret = dict_set_str (this->options, "transport-type", "socket"); + if (ret == -1) { + gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_str error"); + goto free_foppool; } nfs->mount_udp = 0; -- cgit