From 9bd4f25b6b0ea8103324b685fcc21525a29849a8 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Wed, 23 Mar 2011 00:50:17 +0000 Subject: CLI : Validate options farmework. Signed-off-by: Gaurav Signed-off-by: Vijay Bellur BUG: 2064 (NFS options are removed upon glusterd restart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2064 --- rpc/rpc-lib/src/rpc-transport.h | 1 - rpc/rpc-transport/socket/src/socket.c | 33 +++++++-------------------------- 2 files changed, 7 insertions(+), 27 deletions(-) (limited to 'rpc') diff --git a/rpc/rpc-lib/src/rpc-transport.h b/rpc/rpc-lib/src/rpc-transport.h index b42df31ea25..e6883885757 100644 --- a/rpc/rpc-lib/src/rpc-transport.h +++ b/rpc/rpc-lib/src/rpc-transport.h @@ -200,7 +200,6 @@ struct rpc_transport { int32_t (*init) (rpc_transport_t *this); void (*fini) (rpc_transport_t *this); int32_t (*validate_options) (rpc_transport_t *this, - dict_t *options, char **op_errstr); int (*reconfigure) (rpc_transport_t *this, dict_t *options); rpc_transport_notify_t notify; diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index 395bf738427..62f22e20f1c 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -2456,42 +2456,22 @@ struct rpc_transport_ops tops = { .get_myaddr = socket_getmyaddr, }; -int -validate_options (rpc_transport_t *this, dict_t *options, char **op_errstr) -{ - char *optstr = NULL; - int ret = -1; - gf_boolean_t tmp_bool = _gf_false; - - if (dict_get_str (options, "transport.socket.keepalive", - &optstr) == 0) { - if (gf_string2boolean (optstr, &tmp_bool) == -1) { - gf_log (this->name, GF_LOG_ERROR, - "'transport.socket.keepalive' takes only " - "boolean options, not taking any action"); - *op_errstr = "Value should be only boolean!!"; - ret =-1; - goto out; - } - } - - ret =0; -out: - return ret; - -} - int reconfigure (rpc_transport_t *this, dict_t *options) { socket_private_t *priv = NULL; gf_boolean_t tmp_bool = _gf_false; char *optstr = NULL; - int ret = -1; + int ret = 0; GF_VALIDATE_OR_GOTO ("socket", this, out); GF_VALIDATE_OR_GOTO ("socket", this->private, out); + if (!this || !this->private) { + ret =-1; + goto out; + } + priv = this->private; if (dict_get_str (this->options, "transport.socket.keepalive", @@ -2501,6 +2481,7 @@ reconfigure (rpc_transport_t *this, dict_t *options) "'transport.socket.keepalive' takes only " "boolean options, not taking any action"); priv->keepalive = 1; + ret = -1; goto out; } gf_log (this->name, GF_LOG_DEBUG, "Reconfigured transport.socket.keepalive"); -- cgit