diff options
Diffstat (limited to 'cli/src/cli-cmd-parser.c')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index c43b52b63a2..c3058b673f8 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -456,6 +456,8 @@ cli_cmd_volume_create_parse (struct cli_state *state, const char **words, int32_t disperse_data_count = -1; gf_boolean_t is_force = _gf_false; int wc = wordcount; + gf_answer_t answer = GF_ANSWER_NO; + const char *question = NULL; GF_ASSERT (words); GF_ASSERT (options); @@ -526,6 +528,22 @@ cli_cmd_volume_create_parse (struct cli_state *state, const char **words, ret = -1; goto out; } + if (replica_count == 2) { + question = "Replica 2 volumes are prone to " + "split-brain. Use Arbiter or Replica" + " 3 to avoid this. See: " + " https://gluster.readthedocs.io/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/." + "\nDo you still want to continue?\n"; + answer = cli_cmd_get_confirmation (state, + question); + if (GF_ANSWER_NO == answer) { + gf_log ("cli", GF_LOG_ERROR, + "Volume create cancelled, " + "exiting"); + ret = -1; + goto out; + } + } ret = dict_set_int32 (dict, "replica-count", replica_count); if (ret) goto out; |