diff options
| author | Vijay Bellur <vijay@gluster.com> | 2011-07-07 03:45:57 +0000 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-07-11 03:57:23 -0700 | 
| commit | 6cebcc568fba79e3496972fc50ae55a7812859ee (patch) | |
| tree | 9ca9e920606d174175f9a29fd451369c2e3ca42f | |
| parent | 9daafdeed31ca210b27392d114edfb93e74575e7 (diff) | |
cli: Exit if glusterd is not operational in non-prompt modes
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Signed-off-by: Anand Avati <avati@gluster.com>
BUG: 3120 (Provide connection timeout between cli and glusterd)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3120
| -rw-r--r-- | cli/src/cli-cmd.c | 2 | ||||
| -rw-r--r-- | cli/src/cli.c | 6 | ||||
| -rw-r--r-- | cli/src/cli.h | 1 | 
3 files changed, 9 insertions, 0 deletions
diff --git a/cli/src/cli-cmd.c b/cli/src/cli-cmd.c index 2b9aea191..26c155b50 100644 --- a/cli/src/cli-cmd.c +++ b/cli/src/cli-cmd.c @@ -132,6 +132,8 @@ cli_cmd_process (struct cli_state *state, int argc, char **argv)          await_conn = cli_cmd_needs_connection (word); +        state->await_connected = await_conn; +          if (await_conn) {                  ret = cli_cmd_await_connected ();                  if (ret) { diff --git a/cli/src/cli.c b/cli/src/cli.c index 709110150..ac0d768e4 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -349,6 +349,12 @@ cli_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event,          {                  gf_log (this->name, GF_LOG_TRACE, "got RPC_CLNT_DISCONNECT");                  connected = 0; +                if (!global_state->prompt && global_state->await_connected) { +                        ret = 1; +                        cli_out ("Connection failed. Please check if gluster " +                                  "daemon is operational."); +                        exit (ret); +                }                  break;          } diff --git a/cli/src/cli.h b/cli/src/cli.h index 77bc249d9..ad8ed2682 100644 --- a/cli/src/cli.h +++ b/cli/src/cli.h @@ -101,6 +101,7 @@ struct cli_state {          char                 *remote_host;          int                   remote_port;          int                   mode; +        int                   await_connected;  };  struct cli_local {  | 
