summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
diff options
context:
space:
mode:
authorKaushik BV <kaushikbv@gluster.com>2011-07-15 01:20:08 +0000
committerAnand Avati <avati@gluster.com>2011-07-17 07:46:18 -0700
commit3c6138dbf2ed6ebba6b8108be8f4999ff8226964 (patch)
treeb0d4f0f18b2cee10785cd823fe2b387a0cdb3a4d /xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
parentf1b0e963976208cc93e69fc627a81a6f4ab1640b (diff)
mgmt/Glusterd: Implementation volume set help/help-xml
Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2041 (volume set help option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2041
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-rpc-ops.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-rpc-ops.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
index e7134c990b7..7be5fdb0510 100644
--- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c
@@ -53,6 +53,7 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
gd_serialize_t sfunc = NULL;
void *cli_rsp = NULL;
dict_t *ctx = NULL;
+ char *free_ptr = NULL;
switch (op) {
case GD_OP_CREATE_VOLUME:
@@ -181,10 +182,20 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
rsp.op_ret = op_ret;
rsp.op_errno = op_errno;
rsp.volname = "";
+ ctx = op_ctx;
+
if (op_errstr)
rsp.op_errstr = op_errstr;
else
rsp.op_errstr = "";
+ if (ctx) {
+ ret = dict_allocate_and_serialize (ctx,
+ &rsp.dict.dict_val,
+ (size_t*)&rsp.dict.dict_len);
+ if (ret == 0)
+ free_ptr = rsp.dict.dict_val;
+ }
+
cli_rsp = &rsp;
sfunc = gf_xdr_serialize_cli_set_vol_rsp;
break;
@@ -316,10 +327,9 @@ glusterd_op_send_cli_response (glusterd_op_t op, int32_t op_ret,
ret = glusterd_submit_reply (req, cli_rsp, NULL, 0, NULL,
sfunc);
- if (ret)
- goto out;
+ if (free_ptr)
+ GF_FREE (free_ptr);
-out:
gf_log ("", GF_LOG_DEBUG, "Returning %d", ret);
return ret;
}