diff options
author | Yaniv Kaul <ykaul@redhat.com> | 2019-06-05 20:16:40 +0300 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2019-07-16 13:34:56 +0000 |
commit | 7162c8ad9d404773656b4eb02c8fc17f067e7699 (patch) | |
tree | a83da6e6b2be8f4e38d83947347dad9ffb1ffa91 /cli/src/cli-cmd-peer.c | |
parent | 6bf9637a93011298d032332ca93009ba4e377e46 (diff) |
cli: defer create_frame() (and dict creation) to later stages.
Where possible, defer create_frame() - whenever possible, after
command line verification, for example.
Change-Id: Id6606e90e7ea6190f30b225c4733b229c519bb2f
updates: bz#1193929
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
Diffstat (limited to 'cli/src/cli-cmd-peer.c')
-rw-r--r-- | cli/src/cli-cmd-peer.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/cli/src/cli-cmd-peer.c b/cli/src/cli-cmd-peer.c index e42a1139b87..342b1d67aaa 100644 --- a/cli/src/cli-cmd-peer.c +++ b/cli/src/cli-cmd-peer.c @@ -48,10 +48,6 @@ cli_cmd_peer_probe_cbk(struct cli_state *state, struct cli_cmd_word *word, proc = &cli_rpc_prog->proctable[GLUSTER_CLI_PROBE]; - frame = create_frame(THIS, THIS->ctx->pool); - if (!frame) - goto out; - dict = dict_new(); if (!dict) goto out; @@ -77,6 +73,12 @@ cli_cmd_peer_probe_cbk(struct cli_state *state, struct cli_cmd_word *word, } */ + frame = create_frame(THIS, THIS->ctx->pool); + if (!frame) { + ret = -1; + goto out; + } + CLI_LOCAL_INIT(local, words, frame, dict); if (proc->fn) { @@ -127,10 +129,6 @@ cli_cmd_peer_deprobe_cbk(struct cli_state *state, struct cli_cmd_word *word, "want to proceed?"; proc = &cli_rpc_prog->proctable[GLUSTER_CLI_DEPROBE]; - frame = create_frame(THIS, THIS->ctx->pool); - if (!frame) - goto out; - dict = dict_new(); ret = dict_set_str(dict, "hostname", (char *)words[2]); @@ -162,6 +160,12 @@ cli_cmd_peer_deprobe_cbk(struct cli_state *state, struct cli_cmd_word *word, goto out; } + frame = create_frame(THIS, THIS->ctx->pool); + if (!frame) { + ret = -1; + goto out; + } + CLI_LOCAL_INIT(local, words, frame, dict); if (proc->fn) { |