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";  | 
