diff options
author | Kaushik BV <kaushikbv@gluster.com> | 2011-07-15 01:20:16 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-07-17 07:47:06 -0700 |
commit | 0074cda3791d29e1a0290bf29c008ce77b73d785 (patch) | |
tree | 6ba1063dba86dc3f58bf1bf090ae9399c23b8105 /xlators/protocol | |
parent | c9b5f595fa6471997a90113bd7f5a708f1bc67a4 (diff) |
protocol/client: changes in volume_options to assist
Signed-off-by: Kaushik BV <kaushikbv@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2041 (volume set help option)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2041
Diffstat (limited to 'xlators/protocol')
-rw-r--r-- | xlators/protocol/client/src/client.c | 49 |
1 files changed, 40 insertions, 9 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 4f7ee9cc12f..0231bec63ee 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -1671,21 +1671,33 @@ notify (xlator_t *this, int32_t event, void *data, ...) int build_client_config (xlator_t *this, clnt_conf_t *conf) { - int ret = 0; + int ret = 0; + char *def_val = NULL; if (!conf) return -1; + if (xlator_get_volopt_info (&this->volume_options, "frame-timeout", + &def_val, NULL)) { + gf_log (this->name, GF_LOG_ERROR, "Default value of " + "frame-timeout not found"); + ret = -1; + goto out; + } else { + if (gf_string2int32 (def_val, &conf->rpc_conf.rpc_timeout)) { + gf_log (this->name, GF_LOG_ERROR, "Default value of " + "frame-timeout corrupt"); + ret = -1; + goto out; + } + } + ret = dict_get_int32 (this->options, "frame-timeout", &conf->rpc_conf.rpc_timeout); if (ret >= 0) { gf_log (this->name, GF_LOG_DEBUG, "setting frame-timeout to %d", conf->rpc_conf.rpc_timeout); - } else { - gf_log (this->name, GF_LOG_DEBUG, - "defaulting frame-timeout to 30mins"); - conf->rpc_conf.rpc_timeout = 1800; } ret = dict_get_int32 (this->options, "remote-port", @@ -1698,15 +1710,27 @@ build_client_config (xlator_t *this, clnt_conf_t *conf) "defaulting remote-port to 'auto'"); } + + if (xlator_get_volopt_info (&this->volume_options, "ping-timeout", + &def_val, NULL)) { + gf_log (this->name, GF_LOG_ERROR, "Default value of " + "ping-timeout not found"); + ret = -1; + goto out; + } else { + if (gf_string2int32 (def_val, &conf->opt.ping_timeout)) { + gf_log (this->name, GF_LOG_ERROR, "Default value of " + "ping-timeout corrupt"); + ret = -1; + goto out; + } + } + ret = dict_get_int32 (this->options, "ping-timeout", &conf->opt.ping_timeout); if (ret >= 0) { gf_log (this->name, GF_LOG_DEBUG, "setting ping-timeout to %d", conf->opt.ping_timeout); - } else { - gf_log (this->name, GF_LOG_DEBUG, - "defaulting ping-timeout to 42"); - conf->opt.ping_timeout = GF_UNIVERSAL_ANSWER; } ret = dict_get_str (this->options, "remote-subvolume", @@ -2242,11 +2266,18 @@ struct volume_options options[] = { .type = GF_OPTION_TYPE_TIME, .min = 0, .max = 86400, + .default_value = "1800", + .description = "Time frame after which the (file) operation would be " + "declared as dead, if the server does not respond for " + "a particular (file) operation." }, { .key = {"ping-timeout"}, .type = GF_OPTION_TYPE_TIME, .min = 1, .max = 1013, + .default_value = "42", + .description = "Time duration for which the client waits to " + "check if the server is responsive." }, { .key = {"client-bind-insecure"}, .type = GF_OPTION_TYPE_BOOL |