summaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/src/cli-cmd-parser.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c
index 4b8520c67..79f56e2d4 100644
--- a/cli/src/cli-cmd-parser.c
+++ b/cli/src/cli-cmd-parser.c
@@ -306,6 +306,9 @@ cli_cmd_volume_add_brick_parse (const char **words, int wordcount,
int brick_count = 0, brick_index = 0;
int brick_list_size = 1;
char brick_list[120000] = {0,};
+ int j = 0;
+ char *tmp_list = NULL;
+ char *tmpptr = NULL;
GF_ASSERT (words);
GF_ASSERT (options);
@@ -374,6 +377,19 @@ cli_cmd_volume_add_brick_parse (const char **words, int wordcount,
ret = -1;
goto out;
}
+ tmp_list = strdup(brick_list+1);
+ j = 0;
+ while(( brick_count != 0) && (j < brick_count)) {
+ strtok_r (tmp_list, " ", &tmpptr);
+ if (!(strcmp (tmp_list, words[brick_index]))) {
+ ret = -1;
+ cli_out ("Found duplicate"
+ " exports %s",words[brick_index]);
+ goto out;
+ }
+ tmp_list = tmpptr;
+ j++;
+ }
strcat (brick_list, words[brick_index]);
strcat (brick_list, " ");