diff options
author | Csaba Henk <csaba@gluster.com> | 2011-04-19 07:19:17 +0000 |
---|---|---|
committer | Anand Avati <avati@gluster.com> | 2011-04-21 00:39:50 -0700 |
commit | 0dd8c38d17e51c4b8bd1471854315e27c25cc615 (patch) | |
tree | 93a85fc17bf65ba58421afb30be2c9a73ed1c6b5 /cli/src/cli-cmd-parser.c | |
parent | 29ac0febecbca0700bb4b1e2335b8dace5ff452c (diff) |
geo-replication: revamp CONFIG command
Drop the config_type RPC req field, use just a "subop" key in the param dict.
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 2785 (gsyncd logs on slave side go to /dev/null)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2785
Diffstat (limited to 'cli/src/cli-cmd-parser.c')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 70a6327511e..4a395c849a9 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -1121,11 +1121,11 @@ int32_t cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) { int32_t ret = -1; - int32_t config_type = 0; dict_t *dict = NULL; gf1_cli_gsync_set type = GF_GSYNC_OPTION_TYPE_NONE; char *append_str = NULL; size_t append_len = 0; + char *subop = NULL; int i = 0; GF_ASSERT (words); @@ -1192,34 +1192,32 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) } if ((strcmp (words[2], "config")) == 0) { - type = GF_GSYNC_OPTION_TYPE_CONFIGURE; + type = GF_GSYNC_OPTION_TYPE_CONFIG; switch (wordcount) { case 5: - config_type = GF_GSYNC_OPTION_TYPE_CONFIG_GET_ALL; + subop = gf_strdup ("get-all"); break; case 6: if (words[5][0] == '!') { - config_type = GF_GSYNC_OPTION_TYPE_CONFIG_DEL; - i = 1; - } else { - config_type = GF_GSYNC_OPTION_TYPE_CONFIG_GET; - i = 0; - } + (words[5])++; + subop = gf_strdup ("del"); + } else + subop = gf_strdup ("get"); - ret = dict_set_str (dict, "op_name", ((char *)words[5]) + i); + ret = dict_set_str (dict, "op_name", ((char *)words[5])); if (ret < 0) goto out; break; default: - config_type = GF_GSYNC_OPTION_TYPE_CONFIG_SET; - if (wordcount < 7) { ret = -1; goto out; } + subop = gf_strdup ("set"); + ret = dict_set_str (dict, "op_name", (char *)words[5]); if (ret < 0) goto out; @@ -1246,9 +1244,10 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) goto out; } - ret = dict_set_int32 (dict, "config_type", config_type); - if (ret < 0) + if (!subop || dict_set_dynstr (dict, "subop", subop) != 0) { + ret = -1; goto out; + } } else { ret = -1; goto out; |