diff options
| author | Kaushik BV <kaushikbv@gluster.com> | 2010-09-18 03:31:56 +0000 | 
|---|---|---|
| committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-18 07:02:03 -0700 | 
| commit | 5c297be9612f76dad6f970092fb6762b4ee4844a (patch) | |
| tree | f65290e7f12e8d6913f3f3b8d3ffa8dc4cd06618 /xlators/protocol/client/src/client.c | |
| parent | faa817ea9cb119c7f65fce24f03a172fa4b4ada1 (diff) | |
Glusterd: gluster volume set <volume> <option> <value>
Signed-off-by: Kaushik BV <kaushikbv@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1159 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1159
Diffstat (limited to 'xlators/protocol/client/src/client.c')
| -rw-r--r-- | xlators/protocol/client/src/client.c | 74 | 
1 files changed, 74 insertions, 0 deletions
diff --git a/xlators/protocol/client/src/client.c b/xlators/protocol/client/src/client.c index 4220afc6d66..e3e143d58b2 100644 --- a/xlators/protocol/client/src/client.c +++ b/xlators/protocol/client/src/client.c @@ -1751,6 +1751,80 @@ out:  }  int +reconfigure (xlator_t *this, dict_t *options) +{ +	int	ret = 0; +	int	timeout_ret=0; +	int	ping_timeout; +	int	frame_timeout; +	clnt_conf_t *conf = NULL; + +	 +	conf = this->private; +	 +        timeout_ret = dict_get_int32 (options, "frame-timeout", +				      &frame_timeout); +        if (timeout_ret == 0) { +		if (frame_timeout < 5 ) { +			gf_log (this->name, GF_LOG_ERROR, "Reconfiguration" +			      "'option frame-timeout %d failed , Min value" +			      " can be 5, Defaulting to old value (%d)" +			      , frame_timeout, conf->rpc_conf.rpc_timeout); +			ret = -1; +			goto out; +		} + +		if (frame_timeout > 3600 ) { +			gf_log (this->name, GF_LOG_ERROR, "Reconfiguration" +			      "'option frame-timeout %d failed , Max value" +			      "can be 3600, Defaulting to old value (%d)" +			      , frame_timeout, conf->rpc_conf.rpc_timeout); +			ret = -1; +			goto out; +		} + +		 +                gf_log (this->name, GF_LOG_DEBUG, +                        "Reconfiguring otion frame-timeout to %d", +                        frame_timeout); + +		conf->rpc_conf.rpc_timeout = frame_timeout; +        } + +	timeout_ret = dict_get_int32 (options, "ping-timeout", +			              &ping_timeout); +        if (timeout_ret == 0) { + +		if (frame_timeout < 5 ) { +			gf_log (this->name, GF_LOG_WARNING, "Reconfiguration" +			      "'option ping-timeout %d failed , Min value" +			      " can be 5, Defaulting to old value (%d)" +			      , ping_timeout, conf->opt.ping_timeout); +			ret = -1; +			goto out; +		} + +		if (frame_timeout > 1013 ) { +			gf_log (this->name, GF_LOG_WARNING, "Reconfiguration" +			      "'option frame-timeout %d failed , Max value" +			      "can be 1013, Defaulting to old value (%d)" +			      , frame_timeout, conf->opt.ping_timeout); +			ret = -1; +			goto out; +		} +		 +                gf_log (this->name, GF_LOG_DEBUG, "Reconfiguring " +			"'option ping-timeout' to %d", ping_timeout); +		conf->opt.ping_timeout = ping_timeout; +        } + +out: +	return ret; +	 + +} + +int  init (xlator_t *this)  {          int          ret = -1;  | 
