summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c4
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c29
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-ops.c3
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-set.c1
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.h2
-rw-r--r--xlators/nfs/server/src/nfs.c13
7 files changed, 28 insertions, 25 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c
index b2ff8c2e00e..1f31d196af2 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -2673,10 +2673,6 @@ glusterd_store_update_volinfo (glusterd_volinfo_t *volinfo)
} else if (!strncmp (key, GLUSTERD_STORE_KEY_VOL_TRANSPORT,
strlen (GLUSTERD_STORE_KEY_VOL_TRANSPORT))) {
volinfo->transport_type = atoi (value);
- volinfo->nfs_transport_type = volinfo->transport_type;
- if (volinfo->transport_type == GF_TRANSPORT_BOTH_TCP_RDMA) {
- volinfo->nfs_transport_type = GF_DEFAULT_NFS_TRANSPORT;
- }
} else if (!strncmp (key, GLUSTERD_STORE_KEY_VOL_ID,
strlen (GLUSTERD_STORE_KEY_VOL_ID))) {
ret = uuid_parse (value, volinfo->volume_id);
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index f5dd952048b..85d716e2e18 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -568,7 +568,6 @@ glusterd_volinfo_dup (glusterd_volinfo_t *volinfo,
new_volinfo->dist_leaf_count = volinfo->dist_leaf_count;
new_volinfo->sub_count = volinfo->sub_count;
new_volinfo->transport_type = volinfo->transport_type;
- new_volinfo->nfs_transport_type = volinfo->nfs_transport_type;
new_volinfo->brick_count = volinfo->brick_count;
dict_copy (volinfo->dict, new_volinfo->dict);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index ea255f93208..247f369274f 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -1160,15 +1160,20 @@ get_vol_transport_type (glusterd_volinfo_t *volinfo, char *tt)
transport_type_to_str (volinfo->transport_type, tt);
}
+/* If no value has specfied for tcp,rdma volume from cli
+ * use tcp as default value.Otherwise, use transport type
+ * mentioned in volinfo
+ */
static void
get_vol_nfs_transport_type (glusterd_volinfo_t *volinfo, char *tt)
{
- if (volinfo->nfs_transport_type == GF_TRANSPORT_BOTH_TCP_RDMA) {
- gf_log ("", GF_LOG_ERROR, "%s:nfs transport cannot be both"
- " tcp and rdma", volinfo->volname);
- GF_ASSERT (0);
- }
- transport_type_to_str (volinfo->nfs_transport_type, tt);
+ if (volinfo->transport_type == GF_TRANSPORT_BOTH_TCP_RDMA) {
+ strcpy (tt, "tcp");
+ gf_log ("glusterd", GF_LOG_INFO,
+ "The default transport type for tcp,rdma volume "
+ "is tcp if option is not defined by the user ");
+ } else
+ transport_type_to_str (volinfo->transport_type, tt);
}
/* gets the volinfo, dict, a character array for filling in
@@ -3425,8 +3430,16 @@ build_nfs_graph (volgen_graph_t *graph, dict_t *mod_dict)
if (ret)
goto out;
- /* If both RDMA and TCP are the transport_type, use RDMA
- for NFS client protocols */
+ /* If both RDMA and TCP are the transport_type, use TCP for NFS
+ * client protocols, because tcp,rdma volume can be created in
+ * servers which does not have rdma supported hardware
+ * The transport type specified here is client transport type
+ * which is used for communication between gluster-nfs and brick
+ * processes.
+ * User can specify client transport for tcp,rdma volume using
+ * nfs.transport-type, if it is not set by user default
+ * one will be tcp.
+ */
memset (&cgraph, 0, sizeof (cgraph));
if (mod_dict)
get_transport_type (voliter, mod_dict, nfs_xprt, _gf_true);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
index dd3308c40d2..10a6920ff32 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c
@@ -2004,13 +2004,10 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr)
if (strcasecmp (trans_type, "rdma") == 0) {
volinfo->transport_type = GF_TRANSPORT_RDMA;
- volinfo->nfs_transport_type = GF_TRANSPORT_RDMA;
} else if (strcasecmp (trans_type, "tcp") == 0) {
volinfo->transport_type = GF_TRANSPORT_TCP;
- volinfo->nfs_transport_type = GF_TRANSPORT_TCP;
} else {
volinfo->transport_type = GF_TRANSPORT_BOTH_TCP_RDMA;
- volinfo->nfs_transport_type = GF_DEFAULT_NFS_TRANSPORT;
}
if (bricks) {
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
index 36222b9cf75..27e0028e13a 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
@@ -1432,7 +1432,6 @@ struct volopt_map_entry glusterd_volopt_map[] = {
{ .key = "nfs.transport-type",
.voltype = "nfs/server",
.option = "!nfs.transport-type",
- .value = "tcp",
.op_version = 1,
.description = "Specifies the nfs transport type. Valid "
"transport types are 'tcp' and 'rdma'."
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index 64fe63933a5..208e5fc918c 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -247,7 +247,6 @@ typedef enum gf_transport_type_ {
GF_TRANSPORT_BOTH_TCP_RDMA,
} gf_transport_type;
-#define GF_DEFAULT_NFS_TRANSPORT GF_TRANSPORT_RDMA
typedef enum gf_rb_status_ {
GF_RB_STATUS_NONE,
@@ -360,7 +359,6 @@ struct glusterd_volinfo_ {
uint32_t cksum;
uint32_t quota_conf_cksum;
gf_transport_type transport_type;
- gf_transport_type nfs_transport_type;
dict_t *dict;
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;