diff options
| author | Pranith Kumar K <pranithk@gluster.com> | 2010-09-06 08:18:45 +0000 | 
|---|---|---|
| committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-06 09:38:07 -0700 | 
| commit | 8432a5bf65174144c58d3322066abeb85c9f3541 (patch) | |
| tree | f8dffad7b325b34a7771b25470e23f97309d4ff4 /cli/src | |
| parent | 8d64ca70b4c2467d4ed8c76a9eae385abdebd7a7 (diff) | |
cli: prompt user before remove-brick and stop volume
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1538 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1538
Diffstat (limited to 'cli/src')
| -rw-r--r-- | cli/src/cli-cmd-volume.c | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index cbc249ba072..4dd06422a69 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -246,6 +246,8 @@ cli_cmd_volume_stop_cbk (struct cli_state *state, struct cli_cmd_word *word,          call_frame_t            *frame = NULL;          int                     flags   = 0;          gf1_cli_stop_vol_req    req = {0,}; +        char                    answer; +        char                    flush;          frame = create_frame (THIS, THIS->ctx->pool);          if (!frame) @@ -270,6 +272,17 @@ cli_cmd_volume_stop_cbk (struct cli_state *state, struct cli_cmd_word *word,                  }          } +        printf ("Stopping volume will make its data inaccessible. " +                "Do you want to Continue? (y/n) "); +        answer = getchar (); +        flush = answer; +        while ('\n' != flush) +                flush = getchar (); +        if ('y' != answer) { +                ret = 0; +                goto out; +        } +          req.flags = flags;          proc = &cli_rpc_prog->proctable[GF1_CLI_STOP_VOLUME]; @@ -460,6 +473,8 @@ cli_cmd_volume_remove_brick_cbk (struct cli_state *state,          rpc_clnt_procedure_t    *proc = NULL;          call_frame_t            *frame = NULL;          dict_t                  *options = NULL; +        char                    answer; +        char                    flush;          frame = create_frame (THIS, THIS->ctx->pool);          if (!frame) @@ -472,6 +487,17 @@ cli_cmd_volume_remove_brick_cbk (struct cli_state *state,                  goto out;          } +        printf ("Removing brick(s) can result in data loss. " +                "Do you want to Continue? (y/n) "); +        answer = getchar (); +        flush = answer; +        while ('\n' != flush) +                flush = getchar (); +        if ('y' != answer) { +                ret = 0; +                goto out; +        } +          proc = &cli_rpc_prog->proctable[GF1_CLI_REMOVE_BRICK];          if (proc->fn) {  | 
