diff options
-rw-r--r-- | glusterfsd/src/glusterfsd.c | 3 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handshake.c | 3 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 11 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-sm.c | 9 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 2 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-syncop.c | 4 |
6 files changed, 28 insertions, 4 deletions
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index 45dbc26801a..ef4b81c65f5 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -2199,14 +2199,12 @@ glusterfs_process_volfp (glusterfs_ctx_t *ctx, FILE *fp) ret = glusterfs_graph_prepare (graph, ctx); if (ret) { - glusterfs_graph_destroy (graph); goto out; } ret = glusterfs_graph_activate (graph, ctx); if (ret) { - glusterfs_graph_destroy (graph); goto out; } @@ -2218,6 +2216,7 @@ out: fclose (fp); if (ret && !ctx->active) { + glusterfs_graph_destroy (graph); /* there is some error in setting up the first graph itself */ cleanup_and_exit (0); } diff --git a/xlators/mgmt/glusterd/src/glusterd-handshake.c b/xlators/mgmt/glusterd/src/glusterd-handshake.c index d2037fcd579..804e06ed01a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handshake.c +++ b/xlators/mgmt/glusterd/src/glusterd-handshake.c @@ -2205,5 +2205,8 @@ glusterd_peer_dump_version (xlator_t *this, struct rpc_clnt *rpc, unlock: rcu_read_unlock (); out: + if (ret && frame) + STACK_DESTROY (frame->root); + return ret; } diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index b6355e89026..acc4e559723 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -537,6 +537,7 @@ out: glusterd_friend_sm (); glusterd_op_sm (); } + if (ctx) glusterd_destroy_probe_ctx (ctx); free (rsp.hostname);//malloced by xdr @@ -1672,6 +1673,9 @@ glusterd_rpc_friend_update (call_frame_t *frame, xlator_t *this, out: GF_FREE (req.friends.friends_val); + if (ret && dummy_frame) + STACK_DESTROY (dummy_frame->root); + gf_msg_debug ("glusterd", 0, "Returning %d", ret); return ret; } @@ -1707,6 +1711,9 @@ glusterd_cluster_lock (call_frame_t *frame, xlator_t *this, (xdrproc_t)xdr_gd1_mgmt_cluster_lock_req); out: gf_msg_debug ("glusterd", 0, "Returning %d", ret); + + if (ret && dummy_frame) + STACK_DESTROY (dummy_frame->root); return ret; } @@ -1893,6 +1900,10 @@ glusterd_cluster_unlock (call_frame_t *frame, xlator_t *this, (xdrproc_t)xdr_gd1_mgmt_cluster_unlock_req); out: gf_msg_debug (this ? this->name : "glusterd", 0, "Returning %d", ret); + + if (ret && dummy_frame) + STACK_DESTROY (dummy_frame->root); + return ret; } diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.c b/xlators/mgmt/glusterd/src/glusterd-sm.c index 4f345bc2c79..cbc5eeb2dbf 100644 --- a/xlators/mgmt/glusterd/src/glusterd-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-sm.c @@ -331,6 +331,9 @@ glusterd_ac_friend_add (glusterd_friend_sm_event_t *event, void *ctx) out: rcu_read_unlock (); + if (ret && frame) + STACK_DESTROY (frame->root); + gf_msg_debug ("glusterd", 0, "Returning with %d", ret); return ret; } @@ -412,6 +415,9 @@ out: dict_unref (dict); gf_msg_debug ("glusterd", 0, "Returning with %d", ret); + if (ret && frame) + STACK_DESTROY (frame->root); + return ret; } @@ -490,6 +496,9 @@ out: gf_msg_debug ("glusterd", 0, "Returning with %d", ret); + if (ret && frame) + STACK_DESTROY (frame->root); + return ret; } diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index b2247423619..361ecb88554 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -4024,7 +4024,6 @@ glusterd_store_retrieve_peers (xlator_t *this) struct dirent *entry = NULL; char path[PATH_MAX] = {0,}; glusterd_peerinfo_t *peerinfo = NULL; - char *hostname = NULL; gf_store_handle_t *shandle = NULL; char filepath[PATH_MAX] = {0,}; gf_store_iter_t *iter = NULL; @@ -4107,7 +4106,6 @@ glusterd_store_retrieve_peers (xlator_t *this) &op_errno); } if (op_errno != GD_STORE_EOF) { - GF_FREE(hostname); goto out; } diff --git a/xlators/mgmt/glusterd/src/glusterd-syncop.c b/xlators/mgmt/glusterd/src/glusterd-syncop.c index a0b856160c9..8ff7bdea818 100644 --- a/xlators/mgmt/glusterd/src/glusterd-syncop.c +++ b/xlators/mgmt/glusterd/src/glusterd-syncop.c @@ -215,6 +215,8 @@ out: iobref_unref (iobref); iobuf_unref (iobuf); + if (ret && frame) + STACK_DESTROY (frame->root); return ret; } @@ -411,6 +413,7 @@ gd_syncop_mgmt_v3_lock (glusterd_op_t op, dict_t *op_ctx, (xdrproc_t) xdr_gd1_mgmt_v3_lock_req); out: + GF_FREE (req.dict.dict_val); gf_msg_debug ("glusterd", 0, "Returning %d", ret); return ret; } @@ -510,6 +513,7 @@ gd_syncop_mgmt_v3_unlock (dict_t *op_ctx, glusterd_peerinfo_t *peerinfo, (xdrproc_t) xdr_gd1_mgmt_v3_unlock_req); out: + GF_FREE (req.dict.dict_val); gf_msg_debug ("glusterd", 0, "Returning %d", ret); return ret; } |