diff options
author | Varun Shastry <vshastry@redhat.com> | 2014-05-06 12:39:20 +0000 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-06-03 00:08:29 -0700 |
commit | 0fe5ab5b9215b8f0ecfb8bc4ba15a5370850654a (patch) | |
tree | 713e00bd047e1703848a0e8529b5592e35638101 /xlators/protocol | |
parent | 15f7b4de1124a37a53c7ddb5635b005322b23025 (diff) |
glusterd: Changes to provide interface for USS
The changes which consists of the translators for the USS (User Servicable
Snapshots) is submitted as a separate patch. Current patch provides the
CLI access to the feature.
Change-Id: I6b98a42fcfa82f0870d8048fe0bb53141565e9c6
BUG: 1094815
Signed-off-by: Varun Shastry <vshastry@redhat.com>
Reviewed-on: http://review.gluster.org/7705
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/client/src/client.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index e181292f433..7ab10b085b4 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -2310,6 +2310,37 @@ notify (xlator_t *this, int32_t event, void *data, ...) } int +client_check_remote_host (xlator_t *this, dict_t *options) +{ + char *remote_host = NULL; + int ret = -1; + + ret = dict_get_str (options, "remote-host", &remote_host); + if (ret < 0) { + gf_log (this->name, GF_LOG_INFO, "Remote host is not set. " + "Assuming the volfile server as remote host."); + + if (!this->ctx->cmd_args.volfile_server) { + gf_log (this->name, GF_LOG_ERROR, + "No remote host to connect."); + goto out; + } + + ret = dict_set_str (options, "remote-host", + this->ctx->cmd_args.volfile_server); + if (ret == -1) { + gf_log (this->name, GF_LOG_ERROR, + "Failed to set the remote host"); + goto out; + } + } + + ret = 0; +out: + return ret; +} + +int build_client_config (xlator_t *this, clnt_conf_t *conf) { int ret = -1; @@ -2337,6 +2368,10 @@ build_client_config (xlator_t *this, clnt_conf_t *conf) GF_OPTION_INIT ("send-gids", conf->send_gids, bool, out); + ret = client_check_remote_host (this, this->options); + if (ret) + goto out; + ret = 0; out: return ret; @@ -2493,6 +2528,10 @@ reconfigure (xlator_t *this, dict_t *options) GF_OPTION_RECONF ("ping-timeout", conf->opt.ping_timeout, options, int32, out); + ret = client_check_remote_host (this, options); + if (ret) + goto out; + subvol_ret = dict_get_str (this->options, "remote-host", &old_remote_host); |