summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cli/src/cli-cmd-parser.c22
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-handler.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-rpc-ops.c108
3 files changed, 65 insertions, 67 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c
index d363e934a57..17f03bb1c4e 100644
--- a/cli/src/cli-cmd-parser.c
+++ b/cli/src/cli-cmd-parser.c
@@ -667,14 +667,20 @@ cli_cmd_volume_set_parse (const char **words, int wordcount, dict_t **options)
if (ret)
goto out;
- if (!strcmp (volname, "help") && wordcount == 3 )
- ret = dict_set_str (dict, "help", volname);
-
- if (!strcmp (volname, "help-xml") && wordcount == 3 )
- ret = dict_set_str (dict, "help-xml", volname);
-
- if (ret)
- goto out;
+ if (wordcount == 3) {
+ if (!strcmp (volname, "help")) {
+ ret = dict_set_str (dict, "help", volname);
+ if (ret)
+ goto out;
+ } else if (!strcmp (volname, "help-xml")) {
+ ret = dict_set_str (dict, "help-xml", volname);
+ if (ret)
+ goto out;
+ } else {
+ ret = -1;
+ goto out;
+ }
+ }
for (i = 3; i < wordcount; i+=2) {
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c
index a331bfbb2f5..664798ca376 100644
--- a/xlators/mgmt/glusterd/src/glusterd-handler.c
+++ b/xlators/mgmt/glusterd/src/glusterd-handler.c
@@ -989,7 +989,7 @@ glusterd_handle_set_volume (rpcsvc_request_t *req)
ret = dict_get_str (dict, "key1", &key);
if (ret) {
if (strcmp (volname, "help-xml") && strcmp (volname, "help")) {
- gf_log ("", GF_LOG_WARNING, "Unable to get key, while"
+ gf_log ("", GF_LOG_WARNING, "Unable to get key, while "
"handling volume set for %s",volname);
goto out;
}
diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
index 22d1bffcfae..a4dd7e25c6c 100644
--- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
@@ -57,8 +57,8 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
xdrproc_t xdrproc = NULL;
char *errstr = NULL;
int32_t status = 0;
- int32_t is_ctx_dict = 0;
int32_t count = 0;
+ gf_cli_rsp rsp = {0,};
GF_ASSERT (THIS);
@@ -73,14 +73,13 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
{
if (ctx)
ret = dict_get_str (ctx, "errstr", &errstr);
- is_ctx_dict = 1;
- goto done;
+ break;
}
case GD_OP_RESET_VOLUME:
{
if (op_ret && !op_errstr)
errstr = "Error while resetting options";
- goto done;
+ break;
}
case GD_OP_REBALANCE:
{
@@ -90,9 +89,8 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
gf_log (THIS->name, GF_LOG_TRACE,
"failed to get status");
}
- is_ctx_dict = 1;
}
- goto done;
+ break;
}
case GD_OP_GSYNC_SET:
{
@@ -101,9 +99,8 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
ret = dict_set_str (ctx, "glusterd_workdir", conf->workdir);
/* swallow error here, that will be re-triggered in cli */
- is_ctx_dict = 1;
- goto done;
}
+ break;
}
case GD_OP_QUOTA:
@@ -111,23 +108,30 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
if (ctx && !op_errstr) {
ret = dict_get_str (ctx, "errstr", &errstr);
}
- is_ctx_dict = 1;
- goto done;
+ break;
}
- case GD_OP_REPLACE_BRICK:
- case GD_OP_STATUS_VOLUME:
- case GD_OP_SET_VOLUME:
case GD_OP_PROFILE_VOLUME:
{
- if (dict_get_int32 (ctx, "count", &count)) {
+ if (ctx && dict_get_int32 (ctx, "count", &count)) {
ret = dict_set_int32 (ctx, "count", 0);
if (ret) {
gf_log (THIS->name, GF_LOG_ERROR,
- "Failed to set brick count");
- break;
+ "failed to set count in dictionary");
}
}
- is_ctx_dict = 1;
+ break;
+ }
+ case GD_OP_START_BRICK:
+ case GD_OP_STOP_BRICK:
+ {
+ gf_log ("", GF_LOG_DEBUG, "not supported op %d", op);
+ break;
+ }
+ case GD_OP_NONE:
+ case GD_OP_MAX:
+ {
+ gf_log ("", GF_LOG_ERROR, "invalid operation %d", op);
+ break;
}
case GD_OP_CREATE_VOLUME:
case GD_OP_START_VOLUME:
@@ -139,54 +143,42 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
case GD_OP_SYNC_VOLUME:
case GD_OP_HEAL_VOLUME:
case GD_OP_STATEDUMP_VOLUME:
-
-done:
+ case GD_OP_REPLACE_BRICK:
+ case GD_OP_STATUS_VOLUME:
+ case GD_OP_SET_VOLUME:
{
- gf_cli_rsp rsp = {0,};
- rsp.op_ret = op_ret;
- rsp.op_errno = errno;
- if (errstr)
- rsp.op_errstr = errstr;
- else if (op_errstr)
- rsp.op_errstr = op_errstr;
-
- if (!rsp.op_errstr)
- rsp.op_errstr = "";
-
- if (ctx && is_ctx_dict) {
- ret = dict_allocate_and_serialize (ctx, &rsp.dict.dict_val,
- (size_t*)&rsp.dict.dict_len);
- if (ret < 0 ) {
- gf_log (THIS->name, GF_LOG_ERROR, "failed to "
- "serialize buffer");
- break;
- }
- free_ptr = rsp.dict.dict_val;
- }
- /* needed by 'rebalance status' */
- if (status)
- rsp.op_errno = status;
-
- cli_rsp = &rsp;
- xdrproc = (xdrproc_t) xdr_gf_cli_rsp;
+ /*nothing specific to be done*/
break;
}
-
- case GD_OP_START_BRICK:
- case GD_OP_STOP_BRICK:
- {
- gf_log ("", GF_LOG_DEBUG, "not supported op %d", op);
- break;
}
- case GD_OP_NONE:
- case GD_OP_MAX:
- {
- gf_log ("", GF_LOG_ERROR, "invalid operation %d", op);
- break;
- }
+ rsp.op_ret = op_ret;
+ rsp.op_errno = errno;
+ if (errstr)
+ rsp.op_errstr = errstr;
+ else if (op_errstr)
+ rsp.op_errstr = op_errstr;
+
+ if (!rsp.op_errstr)
+ rsp.op_errstr = "";
+
+ if (ctx) {
+ ret = dict_allocate_and_serialize (ctx, &rsp.dict.dict_val,
+ (size_t*)&rsp.dict.dict_len);
+ if (ret < 0 )
+ gf_log (THIS->name, GF_LOG_ERROR, "failed to "
+ "serialize buffer");
+ else
+ free_ptr = rsp.dict.dict_val;
}
+ /* needed by 'rebalance status' */
+ if (status)
+ rsp.op_errno = status;
+
+ cli_rsp = &rsp;
+ xdrproc = (xdrproc_t) xdr_gf_cli_rsp;
+
ret = glusterd_submit_reply (req, cli_rsp, NULL, 0, NULL,
xdrproc);