diff options
author | Kaushik BV <kaushikbv@gluster.com> | 2011-07-12 05:33:39 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-07-12 09:03:55 -0700 |
commit | 8b57a5c2fb16f2c85c0f74edbe7b841a6dc4a265 (patch) | |
tree | 19ce6d050e93953496002eb9914a03fcef3224ae | |
parent | e312fb0ffaaf4e5bcf69dcebaabcbd3898ba8765 (diff) |
protocol/client: changes in volume_options to assist volume set help/help-xml
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
-rw-r--r-- | xlators/protocol/client/src/client.c | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 4153db429a1..88411551fb5 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -1953,21 +1953,33 @@ notify (xlator_t *this, int32_t event, void *data, ...) int build_client_config (xlator_t *this, clnt_conf_t *conf) { - int ret = -1; + int ret = -1; + char *def_val = NULL; if (!conf) goto out; + 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_INFO, "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", @@ -1980,15 +1992,26 @@ 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_INFO, "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", @@ -2482,11 +2505,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 |