diff options
author | ggarg <ggarg@redhat.com> | 2014-03-28 12:23:17 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-04-28 08:42:10 -0700 |
commit | a3c12fdabea5ee77ab95bc65962e56083b7d0fa6 (patch) | |
tree | 16e5dd847112bd2f5586948a9e3a14fc29de55ca | |
parent | f2bac9f9d5b9956969ddd25a54bc636b82f6923e (diff) |
cli: Error out when character "." is available in volume name
previously it was failed without showing any information why it is failed.
Now with this fix, when "." or any non alphanumeric character
present in volume name, it will give error messages
Change-Id: I17e8e69c08345c4d760f3ba333fe841e754bc9c8
BUG: 921215
Signed-off-by: ggarg <ggarg@redhat.com>
Reviewed-on: http://review.gluster.org/7364
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
-rw-r--r-- | cli/src/cli-cmd-parser.c | 16 | ||||
-rwxr-xr-x | tests/bugs/bug-921215.t | 13 |
2 files changed, 27 insertions, 2 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 36f710f0385..b53b1ee648b 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -240,8 +240,14 @@ cli_cmd_volume_create_parse (const char **words, int wordcount, dict_t **options goto out; for (i = 0; i < strlen (volname); i++) - if (!isalnum (volname[i]) && (volname[i] != '_') && (volname[i] != '-')) + if (!isalnum (volname[i]) && (volname[i] != '_') && + (volname[i] != '-')) { + cli_err ("Volume name should not contain \"%c\"" + " character.\nVolume names can only" + "contain alphanumeric, '-' and '_' " + "characters.",volname[i]); goto out; + } } if (wordcount < 4) { @@ -559,8 +565,14 @@ cli_cmd_quota_parse (const char **words, int wordcount, dict_t **options) goto out; for (i = 0; i < strlen (volname); i++) - if (!isalnum (volname[i]) && (volname[i] != '_') && (volname[i] != '-')) + if (!isalnum (volname[i]) && (volname[i] != '_') && + (volname[i] != '-')) { + cli_err ("Volume name should not contain \"%c\"" + " character.\nVolume names can only" + "contain alphanumeric, '-' and '_' " + "characters.",volname[i]); goto out; + } } ret = dict_set_str (dict, "volname", volname); diff --git a/tests/bugs/bug-921215.t b/tests/bugs/bug-921215.t new file mode 100755 index 00000000000..344b568591c --- /dev/null +++ b/tests/bugs/bug-921215.t @@ -0,0 +1,13 @@ +#!/bin/bash + +# This is test case for bug no 921215 "Can not create volume with a . in the name" + +. $(dirname $0)/../include.rc + +cleanup; + +TEST glusterd +TEST pidof glusterd +TEST ! $CLI volume create $V0.temp replica 2 $H0:$B0/${V0}0 $H0:$B0/${V0}1 + +cleanup; |