diff options
-rw-r--r-- | api/src/glfs-mgmt.c | 12 | ||||
-rw-r--r-- | extras/glusterd.vol.in | 1 | ||||
-rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 11 | ||||
-rw-r--r-- | libglusterfs/src/common-utils.c | 35 | ||||
-rw-r--r-- | libglusterfs/src/common-utils.h | 6 | ||||
-rw-r--r-- | rpc/rpc-lib/src/rpc-transport.c | 6 | ||||
-rw-r--r-- | rpc/rpc-transport/socket/src/name.c | 9 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 15 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 38 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 42 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-set.c | 6 | ||||
-rwxr-xr-x | xlators/mount/fuse/utils/mount.glusterfs.in | 3 | ||||
-rwxr-xr-x | xlators/mount/fuse/utils/mount_glusterfs.in | 3 |
13 files changed, 25 insertions, 162 deletions
diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c index 107820c2a6d..ba1f4599488 100644 --- a/api/src/glfs-mgmt.c +++ b/api/src/glfs-mgmt.c @@ -718,7 +718,6 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event, rpc_transport_t *rpc_trans = NULL; struct glfs *fs = NULL; int ret = 0; - struct dnscache6 *dnscache = NULL; this = mydata; rpc_trans = rpc->conn.trans; @@ -737,17 +736,6 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event, "failed to connect with remote-host: %s (%s)", ctx->cmd_args.volfile_server, strerror (errno)); - - if (!rpc->disabled) { - /* - * Check if dnscache is exhausted for current server - * and continue until cache is exhausted - */ - dnscache = rpc_trans->dnscache; - if (dnscache && dnscache->next) { - break; - } - } server = ctx->cmd_args.curr_server; if (server->list.next == &ctx->cmd_args.volfile_servers) { errno = ENOTCONN; diff --git a/extras/glusterd.vol.in b/extras/glusterd.vol.in index 957b277801c..316104c776a 100644 --- a/extras/glusterd.vol.in +++ b/extras/glusterd.vol.in @@ -7,6 +7,5 @@ volume management option transport.socket.read-fail-log off option ping-timeout 0 option event-threads 1 -# option transport.address-family inet6 # option base-port 49152 end-volume diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index 08e8e15ae29..da801779079 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -1893,7 +1893,6 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event, rpc_transport_t *rpc_trans = NULL; int need_term = 0; int emval = 0; - struct dnscache6 *dnscache = NULL; this = mydata; rpc_trans = rpc->conn.trans; @@ -1906,16 +1905,6 @@ mgmt_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event, "failed to connect with remote-host: %s (%s)", ctx->cmd_args.volfile_server, strerror (errno)); - if (!rpc->disabled) { - /* - * Check if dnscache is exhausted for current server - * and continue until cache is exhausted - */ - dnscache = rpc_trans->dnscache; - if (dnscache && dnscache->next) { - break; - } - } server = ctx->cmd_args.curr_server; if (server->list.next == &ctx->cmd_args.volfile_servers) { need_term = 1; diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index e3293dc55ca..81e01bf6108 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -59,6 +59,11 @@ typedef int32_t (*rw_op_t)(int32_t fd, char *buf, int32_t size); typedef int32_t (*rwv_op_t)(int32_t fd, const struct iovec *buf, int32_t size); +struct dnscache6 { + struct addrinfo *first; + struct addrinfo *next; +}; + void md5_wrapper(const unsigned char *data, size_t len, char *md5) { @@ -287,6 +292,9 @@ gf_resolve_ip6 (const char *hostname, memset(&hints, 0, sizeof(hints)); hints.ai_family = family; hints.ai_socktype = SOCK_STREAM; +#ifndef __NetBSD__ + hints.ai_flags = AI_ADDRCONFIG; +#endif ret = gf_asprintf (&port_str, "%d", port); if (-1 == ret) { @@ -2185,14 +2193,6 @@ valid_ipv6_address (char *address, int length, gf_boolean_t wildcard_acc) tmp = gf_strdup (address); - /* Check for '%' for link local addresses */ - endptr = strchr(tmp, '%'); - if (endptr) { - *endptr = '\0'; - length = strlen(tmp); - endptr = NULL; - } - /* Check for compressed form */ if (length <= 0 || tmp[length - 1] == ':') { ret = 0; @@ -3118,18 +3118,9 @@ gf_is_local_addr (char *hostname) gf_boolean_t found = _gf_false; char *ip = NULL; xlator_t *this = NULL; - struct addrinfo hints; this = THIS; - - memset (&hints, 0, sizeof (hints)); - /* - * Removing AI_ADDRCONFIG from default_hints - * for being able to use link local ipv6 addresses - */ - hints.ai_family = AF_UNSPEC; - - ret = getaddrinfo (hostname, NULL, &hints, &result); + ret = getaddrinfo (hostname, NULL, NULL, &result); if (ret != 0) { gf_msg (this->name, GF_LOG_ERROR, 0, LG_MSG_GETADDRINFO_FAILED, @@ -3169,19 +3160,15 @@ gf_is_same_address (char *name1, char *name2) struct addrinfo *q = NULL; gf_boolean_t ret = _gf_false; int gai_err = 0; - struct addrinfo hints; - - memset (&hints, 0, sizeof (hints)); - hints.ai_family = AF_UNSPEC; - gai_err = getaddrinfo(name1, NULL, &hints, &addr1); + gai_err = getaddrinfo(name1,NULL,NULL,&addr1); if (gai_err != 0) { gf_msg (name1, GF_LOG_WARNING, 0, LG_MSG_GETADDRINFO_FAILED, "error in getaddrinfo: %s\n", gai_strerror(gai_err)); goto out; } - gai_err = getaddrinfo(name2, NULL, &hints, &addr2); + gai_err = getaddrinfo(name2,NULL,NULL,&addr2); if (gai_err != 0) { gf_msg (name2, GF_LOG_WARNING, 0, LG_MSG_GETADDRINFO_FAILED, "error in getaddrinfo: %s\n", gai_strerror(gai_err)); diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index c152540f0ff..e374285c71d 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -165,12 +165,6 @@ typedef struct dht_changelog_rename_info { char buffer[1]; } dht_changelog_rename_info_t; -struct dnscache6 { - struct addrinfo *first; - struct addrinfo *next; -}; - - typedef int (*gf_cmp) (void *, void *); diff --git a/rpc/rpc-lib/src/rpc-transport.c b/rpc/rpc-lib/src/rpc-transport.c index 432bf469934..0904dbee716 100644 --- a/rpc/rpc-lib/src/rpc-transport.c +++ b/rpc/rpc-lib/src/rpc-transport.c @@ -692,6 +692,12 @@ rpc_transport_inet_options_build (dict_t **options, const char *hostname, "failed to set remote-port with %d", port); goto out; } + ret = dict_set_str (dict, "transport.address-family", "inet"); + if (ret) { + gf_log (THIS->name, GF_LOG_WARNING, + "failed to set addr-family with inet"); + goto out; + } ret = dict_set_str (dict, "transport-type", "socket"); if (ret) { diff --git a/rpc/rpc-transport/socket/src/name.c b/rpc/rpc-transport/socket/src/name.c index a8cf04d8ab7..650c5a747be 100644 --- a/rpc/rpc-transport/socket/src/name.c +++ b/rpc/rpc-transport/socket/src/name.c @@ -149,10 +149,9 @@ client_fill_address_family (rpc_transport_t *this, sa_family_t *sa_family) if (remote_host_data) { gf_log (this->name, GF_LOG_DEBUG, - "address-family not specified, marking it as unspec " - "for getaddrinfo to resolve from (remote-host: %s)", - data_to_str(remote_host_data)); - *sa_family = AF_UNSPEC; + "address-family not specified, guessing it " + "to be inet from (remote-host: %s)", data_to_str (remote_host_data)); + *sa_family = AF_INET; } else { gf_log (this->name, GF_LOG_DEBUG, "address-family not specified, guessing it " @@ -396,7 +395,7 @@ af_inet_server_get_local_sockaddr (rpc_transport_t *this, memset (&hints, 0, sizeof (hints)); hints.ai_family = addr->sa_family; hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_PASSIVE; + hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG; ret = getaddrinfo(listen_host, service, &hints, &res); if (ret != 0) { diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index 3b8483847e4..b1266aa032e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -194,7 +194,6 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, xlator_t *this = NULL; gf_boolean_t is_force = _gf_false; gsync_status_param_t param = {0,}; - char *c = NULL; this = THIS; GF_ASSERT (this); @@ -346,18 +345,8 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, GD_MSG_NO_MEMORY, "Memory allocation failed"); goto out; } - - /* - * IPv4 address contains '.' and ipv6 addresses contains ':' - * So finding the last occurance of ':' to - * mark the start of brick path - */ - c = strrchr(dup_dstbrick, ':'); - if (c != NULL) { - c[0] = '\0'; - host = dup_dstbrick; - path = c++; - } + host = strtok_r (dup_dstbrick, ":", &savetok); + path = strtok_r (NULL, ":", &savetok); if (!host || !path) { gf_msg (this->name, GF_LOG_ERROR, 0, diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 4db3538162f..086f053d9c3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -2086,7 +2086,6 @@ brick_graph_add_server (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, char key[1024] = {0}; char *ssl_user = NULL; char *value = NULL; - char *address_family_data = NULL; if (!graph || !volinfo || !set_dict || !brickinfo) goto out; @@ -2123,17 +2122,6 @@ brick_graph_add_server (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, RPC_SET_OPT(xl, SSL_DH_PARAM_OPT, "ssl-dh-param", return -1); RPC_SET_OPT(xl, SSL_EC_CURVE_OPT, "ssl-ec-curve", return -1); - if (dict_get_str (volinfo->dict, "transport.address-family", - &address_family_data) == 0) { - ret = xlator_set_option (xl, "transport.address-family", - address_family_data); - if (ret) { - gf_log ("glusterd", GF_LOG_WARNING, - "failed to set transport.address-family"); - return -1; - } - } - if (username) { memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "auth.login.%s.allow", @@ -2181,7 +2169,6 @@ brick_graph_add_pump (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, char *password = NULL; char *ptranst = NULL; char *value = NULL; - char *address_family_data = NULL; if (!graph || !volinfo || !set_dict) @@ -2243,18 +2230,6 @@ brick_graph_add_pump (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, if (ret) return -1; - if (dict_get_str (volinfo->dict, "transport.address-family", - &address_family_data) == 0) { - ret = xlator_set_option (rbxl, - "transport.address-family", - address_family_data); - if (ret) { - gf_log ("glusterd", GF_LOG_WARNING, - "failed to set transport.address-family"); - return -1; - } - } - xl = volgen_graph_add_nolink (graph, "cluster/pump", "%s-pump", volinfo->volname); if (!xl) @@ -2731,7 +2706,6 @@ volgen_graph_build_client (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, char *ssl_str = NULL; gf_boolean_t ssl_bool = _gf_false; char *value = NULL; - char *address_family_data = NULL; GF_ASSERT (graph); GF_ASSERT (subvol); @@ -2761,18 +2735,6 @@ volgen_graph_build_client (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, if (ret) goto err; - if (dict_get_str (volinfo->dict, "transport.address-family", - &address_family_data) == 0) { - ret = xlator_set_option (xl, - "transport.address-family", - address_family_data); - if (ret) { - gf_log ("glusterd", GF_LOG_WARNING, - "failed to set transport.address-family"); - goto err; - } - } - ret = dict_get_uint32 (set_dict, "trusted-client", &client_type); diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 661668084d5..24a30ea7ec8 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -285,7 +285,6 @@ __glusterd_handle_create_volume (rpcsvc_request_t *req) xlator_t *this = NULL; char *free_ptr = NULL; char *trans_type = NULL; - char *address_family_str = NULL; uuid_t volume_id = {0,}; uuid_t tmp_uuid = {0}; int32_t type = 0; @@ -366,8 +365,6 @@ __glusterd_handle_create_volume (rpcsvc_request_t *req) goto out; } - - ret = dict_get_str (dict, "transport", &trans_type); if (ret) { snprintf (err_str, sizeof (err_str), "Unable to get " @@ -376,30 +373,6 @@ __glusterd_handle_create_volume (rpcsvc_request_t *req) GD_MSG_DICT_GET_FAILED, "%s", err_str); goto out; } - - ret = dict_get_str (this->options, "transport.address-family", - &address_family_str); - - if (!ret) { - ret = dict_set_dynstr_with_alloc (dict, - "transport.address-family", - address_family_str); - if (ret) { - gf_log (this->name, GF_LOG_ERROR, - "failed to set transport.address-family"); - goto out; - } - } else if (!strcmp(trans_type, "tcp")) { - /* Setting default as inet for trans_type tcp */ - ret = dict_set_dynstr_with_alloc (dict, - "transport.address-family", - "inet"); - if (ret) { - gf_log (this->name, GF_LOG_ERROR, - "failed to set transport.address-family"); - goto out; - } - } ret = dict_get_str (dict, "bricks", &bricks); if (ret) { snprintf (err_str, sizeof (err_str), "Unable to get bricks for " @@ -2117,7 +2090,6 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr) char msg[1024] __attribute__((unused)) = {0, }; char *brick_mount_dir = NULL; char key[PATH_MAX] = ""; - char *address_family_str = NULL; this = THIS; GF_ASSERT (this); @@ -2390,20 +2362,6 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr) goto out; } - ret = dict_get_str (dict, "transport.address-family", - &address_family_str); - - if (!ret) { - ret = dict_set_dynstr_with_alloc(volinfo->dict, - "transport.address-family", address_family_str); - if (ret) { - gf_log (this->name, GF_LOG_ERROR, - "Failed to set transport.address-family for %s", - volinfo->volname); - goto out; - } - } - gd_update_volume_op_versions (volinfo); volinfo->caps = caps; diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 59b31e26a9f..c9b80030765 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1642,12 +1642,6 @@ struct volopt_map_entry glusterd_volopt_map[] = { .option = "!ssl-ec-curve", .op_version = GD_OP_VERSION_3_7_4, }, - { .key = "transport.address-family", - .voltype = "protocol/server", - .option = "!address-family", - .op_version = GD_OP_VERSION_3_7_4, - .type = NO_DOC, - }, /* Performance xlators enable/disbable options */ { .key = "performance.write-behind", diff --git a/xlators/mount/fuse/utils/mount.glusterfs.in b/xlators/mount/fuse/utils/mount.glusterfs.in index b0af1af7e9d..7f314da69ec 100755 --- a/xlators/mount/fuse/utils/mount.glusterfs.in +++ b/xlators/mount/fuse/utils/mount.glusterfs.in @@ -595,8 +595,7 @@ main () fi [ -r "$volfile_loc" ] || { - # '%' included to support ipv6 link local addresses - server_ip=$(echo "$volfile_loc" | sed -n 's/\([a-zA-Z0-9:%.\-]*\):.*/\1/p'); + server_ip=$(echo "$volfile_loc" | sed -n 's/\([a-zA-Z0-9:.\-]*\):.*/\1/p'); volume_str=$(echo "$volfile_loc" | sed -n 's/.*:\([^ ]*\).*/\1/p'); [ -n "$volume_str" ] && { volume_id="$volume_str"; diff --git a/xlators/mount/fuse/utils/mount_glusterfs.in b/xlators/mount/fuse/utils/mount_glusterfs.in index eca84557e87..3d58c29e0cf 100755 --- a/xlators/mount/fuse/utils/mount_glusterfs.in +++ b/xlators/mount/fuse/utils/mount_glusterfs.in @@ -501,8 +501,7 @@ main () done [ -r "$volfile_loc" ] || { - # '%' included to support ipv6 link local addresses - server_ip=$(echo "$volfile_loc" | sed -n 's/\([a-zA-Z0-9:%.\-]*\):.*/\1/p'); + server_ip=$(echo "$volfile_loc" | sed -n 's/\([a-zA-Z0-9:.\-]*\):.*/\1/p'); volume_str=$(echo "$volfile_loc" | sed -n 's/.*:\([^ ]*\).*/\1/p'); [ -n "$volume_str" ] && { volume_id="$volume_str"; |