diff options
Diffstat (limited to 'xlators/mgmt')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 7cac938c1..c1aea4136 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -915,7 +915,9 @@ glusterd_op_stage_start_volume (dict_t *dict, char **op_errstr)                          continue;                  ret = gf_lstat_dir (brickinfo->path, NULL); -                if (ret) { +                if (ret && (flags & GF_CLI_FLAG_OP_FORCE)) { +                        continue; +                } else if (ret) {                          snprintf (msg, sizeof (msg), "Failed to find "                                            "brick directory %s for volume %s. "                                            "Reason : %s", brickinfo->path, @@ -1704,7 +1706,10 @@ glusterd_op_start_volume (dict_t *dict, char **op_errstr)          list_for_each_entry (brickinfo, &volinfo->bricks, brick_list) {                  ret = glusterd_brick_start (volinfo, brickinfo, _gf_true); -                if (ret) +                /* If 'force' try to start all bricks regardless of success or +                 * failure +                 */ +                if (!(flags & GF_CLI_FLAG_OP_FORCE) && ret)                          goto out;          }  | 
