From 6858155d8b0681f9caea5295a2de63252ff9631c Mon Sep 17 00:00:00 2001 From: Pavan Sondur Date: Fri, 10 Sep 2010 07:32:29 +0000 Subject: mgmt/glusterd: add a dict to glusterd commit response. Signed-off-by: Pavan Vilas Sondur Signed-off-by: Vijay Bellur BUG: 1582 (replace-brick data missing added brick) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1582 --- rpc/xdr/src/glusterd1-xdr.c | 49 +++++++++++++++++++++++++++++++++++++++++++-- rpc/xdr/src/glusterd1-xdr.h | 4 ++++ 2 files changed, 51 insertions(+), 2 deletions(-) (limited to 'rpc') diff --git a/rpc/xdr/src/glusterd1-xdr.c b/rpc/xdr/src/glusterd1-xdr.c index 82d9830c97f..3ddd5568826 100644 --- a/rpc/xdr/src/glusterd1-xdr.c +++ b/rpc/xdr/src/glusterd1-xdr.c @@ -17,7 +17,6 @@ . */ - /* * Please do not edit this file. * It was generated using rpcgen. @@ -28,7 +27,6 @@ bool_t xdr_glusterd_volume_status (XDR *xdrs, glusterd_volume_status *objp) { - if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; @@ -223,6 +221,51 @@ xdr_gd1_mgmt_commit_op_req (XDR *xdrs, gd1_mgmt_commit_op_req *objp) bool_t xdr_gd1_mgmt_commit_op_rsp (XDR *xdrs, gd1_mgmt_commit_op_rsp *objp) { + register int32_t *buf; + + if (xdrs->x_op == XDR_ENCODE) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, + sizeof (u_char), (xdrproc_t) xdr_u_char)) + return FALSE; + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->op)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_ret)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_errno)) + return FALSE; + + } else { + IXDR_PUT_LONG(buf, objp->op); + IXDR_PUT_LONG(buf, objp->op_ret); + IXDR_PUT_LONG(buf, objp->op_errno); + } + if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0)) + return FALSE; + return TRUE; + } else if (xdrs->x_op == XDR_DECODE) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, + sizeof (u_char), (xdrproc_t) xdr_u_char)) + return FALSE; + buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); + if (buf == NULL) { + if (!xdr_int (xdrs, &objp->op)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_ret)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_errno)) + return FALSE; + + } else { + objp->op = IXDR_GET_LONG(buf); + objp->op_ret = IXDR_GET_LONG(buf); + objp->op_errno = IXDR_GET_LONG(buf); + } + if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0)) + return FALSE; + return TRUE; + } if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) @@ -233,6 +276,8 @@ xdr_gd1_mgmt_commit_op_rsp (XDR *xdrs, gd1_mgmt_commit_op_rsp *objp) return FALSE; if (!xdr_int (xdrs, &objp->op_errno)) return FALSE; + if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0)) + return FALSE; return TRUE; } diff --git a/rpc/xdr/src/glusterd1-xdr.h b/rpc/xdr/src/glusterd1-xdr.h index 7b208ee5f11..0c738d00c3e 100644 --- a/rpc/xdr/src/glusterd1-xdr.h +++ b/rpc/xdr/src/glusterd1-xdr.h @@ -148,6 +148,10 @@ struct gd1_mgmt_commit_op_rsp { int op; int op_ret; int op_errno; + struct { + u_int dict_len; + char *dict_val; + } dict; }; typedef struct gd1_mgmt_commit_op_rsp gd1_mgmt_commit_op_rsp; -- cgit