summaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorGaurav <gaurav@gluster.com>2011-03-23 00:50:17 +0000
committerVijay Bellur <vijay@dev.gluster.com>2011-03-23 04:55:29 -0700
commit9bd4f25b6b0ea8103324b685fcc21525a29849a8 (patch)
tree7b0e0b875934521dea0c6fdd3412ac61972a527e /rpc
parent6f6c817314a2a867be996c2ad6d9a1337617ded4 (diff)
CLI : Validate options farmework.
Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 2064 (NFS options are removed upon glusterd restart) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2064
Diffstat (limited to 'rpc')
-rw-r--r--rpc/rpc-lib/src/rpc-transport.h1
-rw-r--r--rpc/rpc-transport/socket/src/socket.c33
2 files changed, 7 insertions, 27 deletions
diff --git a/rpc/rpc-lib/src/rpc-transport.h b/rpc/rpc-lib/src/rpc-transport.h
index b42df31e..e6883885 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 395bf738..62f22e20 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -2457,41 +2457,21 @@ struct rpc_transport_ops tops = {
};
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");