diff options
Diffstat (limited to 'cli/src/cli-cmd-parser.c')
| -rw-r--r-- | cli/src/cli-cmd-parser.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 4b8520c676b..79f56e2d4b6 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, " ");  | 
