diff options
| -rw-r--r-- | cli/src/cli-cmd.c | 4 | ||||
| -rw-r--r-- | cli/src/cli.c | 6 | ||||
| -rw-r--r-- | cli/src/cli.h | 1 | 
3 files changed, 10 insertions, 1 deletions
diff --git a/cli/src/cli-cmd.c b/cli/src/cli-cmd.c index 982d39d1b70..a9016ae3620 100644 --- a/cli/src/cli-cmd.c +++ b/cli/src/cli-cmd.c @@ -132,7 +132,9 @@ cli_cmd_process (struct cli_state *state, int argc, char **argv)  	if ( strcmp (word->word,"help")==0 )  		goto callback; -        ret = cli_cmd_await_connected (cli_cmd_needs_connection (word)); +        state->await_connected = cli_cmd_needs_connection (word); + +        ret = cli_cmd_await_connected (state->await_connected);          if (ret) {                  cli_out ("Connection failed. Please check if gluster "                            "daemon is operational."); diff --git a/cli/src/cli.c b/cli/src/cli.c index e4e7444e8aa..7341c7e8f4f 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -352,6 +352,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 aa09e8108ad..2b599488bb9 100644 --- a/cli/src/cli.h +++ b/cli/src/cli.h @@ -105,6 +105,7 @@ struct cli_state {          char                 *remote_host;          int                   remote_port;          int                   mode; +        int                   await_connected;  };  struct cli_local {  | 
