From 4bbbda2017be3cfae57c122d70d11c9470364f63 Mon Sep 17 00:00:00 2001 From: Anuradha Date: Wed, 30 Oct 2013 11:57:38 +0530 Subject: cli : enabling/disabling quota using volume set cmd deprecated Using the command 'gluster volume set quota {on|off}' doesn't really enable/disable quota. So, a message to the user is provided. Message asks the user to use 'gluster volume quota {enable|disable}' instead. Change-Id: Ic4e12d5f8298ca9233639b4f6f8601ed6937fecb BUG: 1024626 Signed-off-by: Anuradha Reviewed-on: http://review.gluster.org/6192 Tested-by: Gluster Build System Reviewed-by: Kaushal M Reviewed-by: Vijay Bellur --- cli/src/cli-cmd-parser.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'cli') diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index de980b279..8a37d8e78 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -38,6 +38,13 @@ str_getunamb (const char *tok, char **opwords) return (char *)cli_getunamb (tok, (void **)opwords, id_sel); } +static inline gf_boolean_t +cli_is_quota_cmd (char *key) +{ + return ((strcmp (key, "quota") == 0) || + (strcmp (key, "features.quota") == 0)); +} + int32_t cli_cmd_bricks_parse (const char **words, int wordcount, int brick_index, char **bricks, int *brick_count) @@ -858,6 +865,11 @@ cli_cmd_volume_set_parse (const char **words, int wordcount, dict_t **options, char *value = NULL; int i = 0; char str[50] = {0,}; + char *true_keys[] = {"on", "enable", "yes", + "true", "1", NULL}; + char *false_keys[] = {"off", "disable", "no", + "false", "0", NULL}; + char *w1 = NULL, *w2 = NULL; GF_ASSERT (words); GF_ASSERT (options); @@ -910,6 +922,25 @@ cli_cmd_volume_set_parse (const char **words, int wordcount, dict_t **options, if (ret == 0) *options = dict; goto out; + } else if (wordcount == 5 && cli_is_quota_cmd ((char *)words[3])) { + value = (char *)words[4]; + w1 = str_getunamb (value, true_keys); + w2 = str_getunamb (value, false_keys); + if (w1 != NULL) { + gf_asprintf (op_errstr,"'gluster volume set " + "%s %s' is deprecated. Use 'gluster " + "volume quota enable' instead.", + (char *)words[3], w1); + ret = -1; + goto out; + } else if (w2 != NULL) { + gf_asprintf (op_errstr,"'gluster volume set " + "%s %s' is deprecated. Use 'gluster " + "volume quota disable' instead.", + (char *)words[3], w2); + ret = -1; + goto out; + } } for (i = 3; i < wordcount; i+=2) { -- cgit