summaryrefslogtreecommitdiffstats
path: root/cli/src/cli-rpc-ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
-rw-r--r--cli/src/cli-rpc-ops.c37
1 files changed, 13 insertions, 24 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c
index d6c507d2c9d..34033b1ea93 100644
--- a/cli/src/cli-rpc-ops.c
+++ b/cli/src/cli-rpc-ops.c
@@ -2586,7 +2586,7 @@ out:
int
-gf_cli3_1_gsync_get_command (gf1_cli_gsync_set_rsp rsp)
+gf_cli3_1_gsync_config_command (gf1_cli_gsync_set_rsp rsp)
{
char cmd[PATH_MAX] = {0,};
int ret = -1;
@@ -2597,28 +2597,21 @@ gf_cli3_1_gsync_get_command (gf1_cli_gsync_set_rsp rsp)
if (!rsp.gsync_prefix || !rsp.master || !rsp.slave || !rsp.glusterd_workdir)
return -1;
- if (rsp.config_type == GF_GSYNC_OPTION_TYPE_CONFIG_GET) {
- if (!rsp.op_name)
- return -1;
+ if (strcmp (rsp.subop, "get") != 0 && strcmp (rsp.subop, "get-all") != 0) {
+ cli_out (GEOREP" config updated successfully");
+ return 0;
+ }
- snprintf (cmd, PATH_MAX, GSYNCD_PREFIX "/gsyncd -c %s/%s :%s %s"
- " --config-get %s ",
- rsp.glusterd_workdir, GSYNC_CONF,
- rsp.master, rsp.slave, rsp.op_name);
- ret = system (cmd);
+ snprintf (cmd, PATH_MAX,
+ GSYNCD_PREFIX"/gsyncd -c %s/"GSYNC_CONF" :%s %s --config-%s%s%s",
+ rsp.glusterd_workdir, rsp.master, rsp.slave, rsp.subop,
+ *rsp.op_name ? " " : "", rsp.op_name);
+ ret = system (cmd);
/*
* gf_log() failure from system() ?
*/
- } else if (rsp.config_type == GF_GSYNC_OPTION_TYPE_CONFIG_GET_ALL) {
- snprintf (cmd, PATH_MAX, GSYNCD_PREFIX"/gsyncd -c %s/%s "
- ":%s %s --config-get-all ",
- rsp.glusterd_workdir, GSYNC_CONF,
- rsp.master, rsp.slave);
-
- ret = system (cmd);
- }
- return 0;
+ return ret ? -1 : 0;
}
int
@@ -2730,12 +2723,8 @@ gf_cli3_1_gsync_set_cbk (struct rpc_req *req, struct iovec *iov,
" has been successful", rsp.master, rsp.slave);
break;
- case GF_GSYNC_OPTION_TYPE_CONFIGURE:
- if(rsp.config_type==GF_GSYNC_OPTION_TYPE_CONFIG_GET_ALL
- || rsp.config_type==GF_GSYNC_OPTION_TYPE_CONFIG_GET)
- ret = gf_cli3_1_gsync_get_command (rsp);
- else
- cli_out (GEOREP" config updated successfully");
+ case GF_GSYNC_OPTION_TYPE_CONFIG:
+ ret = gf_cli3_1_gsync_config_command (rsp);
break;
case GF_GSYNC_OPTION_TYPE_STATUS: