diff options
| author | Mohamed Ashiq <mliyazud@redhat.com> | 2015-11-09 20:43:17 +0530 | 
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2015-12-03 03:39:58 -0800 | 
| commit | 113e2ac257cf75efd12fcfd47b7eed7ad08ee000 (patch) | |
| tree | c3d030543b13d505024dafa06e71779f96c6b42c /glusterfsd | |
| parent | e0d9e617e3bddeb0f8746cf5bcab75b05b7eb679 (diff) | |
glusterfsd: To support volfile-server-transport type "unix"
glusterfsd fails if the glusterd is bind to specific-IP address.
This patch helps glusterfsd to get the volfile using Unix domain socket.
glusterfs -s <unix socket path> --volfile-server-transport unix
          --volfile-id <volume-name> <mount-point>
The patch checks if the volfile-server-transport is of type "unix",
If It is then uses rpc_transport_unix_options_build to get the volfile.
Signed-off-by: Mohamed Ashiq <mliyazud@redhat.com>
Signed-off-by: Humble Devassy Chirammal <hchiramm@redhat.com>
>Change-Id: I81b881e7ac5a3a4f2ac83c789c385cf547f0d53e
>BUG: 1279484
>Signed-off-by: Mohamed Ashiq <mliyazud@redhat.com>
>Signed-off-by: Humble Devassy Chirammal <hchiramm@redhat.com>
>Reviewed-on: http://review.gluster.org/12556
>Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
>Reviewed-by: Niels de Vos <ndevos@redhat.com>
>Tested-by: NetBSD Build System <jenkins@build.gluster.org>
>Tested-by: Gluster Build System <jenkins@build.gluster.com>
Change-Id: Ic3eeacc78aca3df3c07e5a9228043f3d7cdf094c
BUG: 1285961
Reviewed-on: http://review.gluster.org/12769
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 12 | ||||
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 4 | 
2 files changed, 10 insertions, 6 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index e320f76833b..c1ab934d31f 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -2105,6 +2105,7 @@ glusterfs_mgmt_init (glusterfs_ctx_t *ctx)          char                    *host = NULL;          cmd_args = &ctx->cmd_args; +        GF_VALIDATE_OR_GOTO (THIS->name, cmd_args->volfile_server, out);          if (ctx->mgmt)                  return 0; @@ -2112,11 +2113,14 @@ glusterfs_mgmt_init (glusterfs_ctx_t *ctx)          if (cmd_args->volfile_server_port)                  port = cmd_args->volfile_server_port; -        host = "localhost"; -        if (cmd_args->volfile_server) -                host = cmd_args->volfile_server; +        host = cmd_args->volfile_server; -        ret = rpc_transport_inet_options_build (&options, host, port); +        if (cmd_args->volfile_server_transport && +            !strcmp (cmd_args->volfile_server_transport, "unix")) { +                ret = rpc_transport_unix_options_build (&options, host, 0); +        } else { +                ret = rpc_transport_inet_options_build (&options, host, port); +        }          if (ret)                  goto out; diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index c86f5f02617..e41064a1372 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -101,8 +101,8 @@ static error_t parse_opts (int32_t key, char *arg, struct argp_state *_state);  static struct argp_option gf_options[] = {          {0, 0, 0, 0, "Basic options:"},          {"volfile-server", ARGP_VOLFILE_SERVER_KEY, "SERVER", 0, -         "Server to get the volume file from.  This option overrides " -         "--volfile option"}, +         "Server to get the volume file from. Unix domain socket path when " +         "transport type 'unix'. This option overrides --volfile option"},          {"volfile", ARGP_VOLUME_FILE_KEY, "VOLFILE", 0,           "File to use as VOLUME_FILE"},          {"spec-file", ARGP_VOLUME_FILE_KEY, "VOLFILE", OPTION_HIDDEN,  | 
