summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
authorMilind Changire <mchangir@redhat.com>2019-01-22 12:10:59 +0530
committerAmar Tumballi <amarts@redhat.com>2019-01-22 13:47:19 +0000
commitb6c417785e54620331ae35d6971fe8bef98b4619 (patch)
tree828099423d2cc2cfee056b0431ebd54a205d533f /libglusterfs
parent67bc3775685198b9ab10c1f2a0d957b157bb4acd (diff)
rpc: use address-family option from vol file
This patch helps enable IPv6 connections in the cluster. The default address-family is IPv4 without using this option explicitly. When address-family is set to "inet6" in the /etc/glusterfs/glusterd.vol file, the mount command-line also needs to have -o xlator-option="transport.address-family=inet6" added to it. This option also gets added to the brick command-line. Snapshot and gfapi use-cases should also use this option to pass in the inet6 address-family. Change-Id: I97db91021af27bacb6d7578e33ea4817f66d7270 fixes: bz#1635863 Signed-off-by: Milind Changire <mchangir@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/common-utils.c17
-rw-r--r--libglusterfs/src/glusterfs/common-utils.h3
-rw-r--r--libglusterfs/src/libglusterfs.sym1
3 files changed, 19 insertions, 2 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 4104c576fd2..0798661806d 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -503,8 +503,7 @@ gf_resolve_ip6(const char *hostname, uint16_t port, int family, void **dnscache,
if ((ret = getaddrinfo(hostname, port_str, &hints, &cache->first)) !=
0) {
gf_msg("resolver", GF_LOG_ERROR, 0, LG_MSG_GETADDRINFO_FAILED,
- "getaddrinfo failed"
- " (%s)",
+ "getaddrinfo failed (family:%d) (%s)", family,
gai_strerror(ret));
GF_FREE(*dnscache);
@@ -5328,3 +5327,17 @@ gf_replace_new_iatt_in_dict(dict_t *xdata)
return ret;
}
+
+xlator_cmdline_option_t *
+find_xlator_option_in_cmd_args_t(const char *option_name, cmd_args_t *args)
+{
+ xlator_cmdline_option_t *pos = NULL;
+ xlator_cmdline_option_t *tmp = NULL;
+
+ list_for_each_entry_safe(pos, tmp, &args->xlator_options, cmd_args)
+ {
+ if (strcmp(pos->key, option_name) == 0)
+ return pos;
+ }
+ return NULL;
+}
diff --git a/libglusterfs/src/glusterfs/common-utils.h b/libglusterfs/src/glusterfs/common-utils.h
index e7101be4aab..9061861ce3b 100644
--- a/libglusterfs/src/glusterfs/common-utils.h
+++ b/libglusterfs/src/glusterfs/common-utils.h
@@ -1064,4 +1064,7 @@ gf_replace_old_iatt_in_dict(struct _dict *);
int
gf_replace_new_iatt_in_dict(struct _dict *);
+xlator_cmdline_option_t *
+find_xlator_option_in_cmd_args_t(const char *option_name, cmd_args_t *args);
+
#endif /* _COMMON_UTILS_H */
diff --git a/libglusterfs/src/libglusterfs.sym b/libglusterfs/src/libglusterfs.sym
index e03cc987c81..beeab5468f9 100644
--- a/libglusterfs/src/libglusterfs.sym
+++ b/libglusterfs/src/libglusterfs.sym
@@ -1149,3 +1149,4 @@ gf_replace_new_iatt_in_dict
gf_changelog_init
gf_changelog_register_generic
gf_gfid_generate_from_xxh64
+find_xlator_option_in_cmd_args_t