From df4a7d75765b042ddbda4cbcd419743a37767ec3 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Mon, 23 Aug 2010 03:51:21 +0000 Subject: glusterd: support for volume version and cksum Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati BUG: 1310 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1310 --- rpc/xdr/src/glusterd1-xdr.c | 10 ++++++---- rpc/xdr/src/glusterd1-xdr.h | 20 ++++++++++++-------- rpc/xdr/src/glusterd1.x | 8 ++++++++ 3 files changed, 26 insertions(+), 12 deletions(-) (limited to 'rpc/xdr/src') diff --git a/rpc/xdr/src/glusterd1-xdr.c b/rpc/xdr/src/glusterd1-xdr.c index c7b83b9d5..82d9830c9 100644 --- a/rpc/xdr/src/glusterd1-xdr.c +++ b/rpc/xdr/src/glusterd1-xdr.c @@ -73,6 +73,8 @@ xdr_gd1_mgmt_friend_req (XDR *xdrs, gd1_mgmt_friend_req *objp) return FALSE; if (!xdr_int (xdrs, &objp->port)) return FALSE; + if (!xdr_bytes (xdrs, (char **)&objp->vols.vols_val, (u_int *) &objp->vols.vols_len, ~0)) + return FALSE; return TRUE; } @@ -85,12 +87,12 @@ xdr_gd1_mgmt_friend_rsp (XDR *xdrs, gd1_mgmt_friend_rsp *objp) return FALSE; if (!xdr_string (xdrs, &objp->hostname, ~0)) return FALSE; - if (!xdr_int (xdrs, &objp->port)) - return FALSE; if (!xdr_int (xdrs, &objp->op_ret)) return FALSE; if (!xdr_int (xdrs, &objp->op_errno)) return FALSE; + if (!xdr_int (xdrs, &objp->port)) + return FALSE; return TRUE; } @@ -117,12 +119,12 @@ xdr_gd1_mgmt_unfriend_rsp (XDR *xdrs, gd1_mgmt_unfriend_rsp *objp) return FALSE; if (!xdr_string (xdrs, &objp->hostname, ~0)) return FALSE; - if (!xdr_int (xdrs, &objp->port)) - return FALSE; if (!xdr_int (xdrs, &objp->op_ret)) return FALSE; if (!xdr_int (xdrs, &objp->op_errno)) return FALSE; + if (!xdr_int (xdrs, &objp->port)) + return FALSE; return TRUE; } diff --git a/rpc/xdr/src/glusterd1-xdr.h b/rpc/xdr/src/glusterd1-xdr.h index 4125d7b12..7b208ee5f 100644 --- a/rpc/xdr/src/glusterd1-xdr.h +++ b/rpc/xdr/src/glusterd1-xdr.h @@ -26,7 +26,7 @@ #ifndef _GLUSTERD1_H_RPCGEN #define _GLUSTERD1_H_RPCGEN -//#include +#include #ifdef __cplusplus @@ -44,46 +44,50 @@ typedef enum glusterd_volume_status glusterd_volume_status; struct gd1_mgmt_probe_req { u_char uuid[16]; char *hostname; - int port; + int port; }; typedef struct gd1_mgmt_probe_req gd1_mgmt_probe_req; struct gd1_mgmt_probe_rsp { u_char uuid[16]; char *hostname; - int port; + int port; }; typedef struct gd1_mgmt_probe_rsp gd1_mgmt_probe_rsp; struct gd1_mgmt_friend_req { u_char uuid[16]; char *hostname; - int port; + int port; + struct { + u_int vols_len; + char *vols_val; + } vols; }; typedef struct gd1_mgmt_friend_req gd1_mgmt_friend_req; struct gd1_mgmt_friend_rsp { u_char uuid[16]; char *hostname; - int port; int op_ret; int op_errno; + int port; }; typedef struct gd1_mgmt_friend_rsp gd1_mgmt_friend_rsp; struct gd1_mgmt_unfriend_req { u_char uuid[16]; char *hostname; - int port; + int port; }; typedef struct gd1_mgmt_unfriend_req gd1_mgmt_unfriend_req; struct gd1_mgmt_unfriend_rsp { u_char uuid[16]; char *hostname; - int port; int op_ret; int op_errno; + int port; }; typedef struct gd1_mgmt_unfriend_rsp gd1_mgmt_unfriend_rsp; @@ -153,7 +157,7 @@ struct gd1_mgmt_friend_update { u_int friends_len; char *friends_val; } friends; - int port; + int port; }; typedef struct gd1_mgmt_friend_update gd1_mgmt_friend_update; diff --git a/rpc/xdr/src/glusterd1.x b/rpc/xdr/src/glusterd1.x index 28e6de01f..19fa7af68 100644 --- a/rpc/xdr/src/glusterd1.x +++ b/rpc/xdr/src/glusterd1.x @@ -7,16 +7,20 @@ struct gd1_mgmt_probe_req { unsigned char uuid[16]; string hostname<>; + int port; } ; struct gd1_mgmt_probe_rsp { unsigned char uuid[16]; string hostname<>; + int port; } ; struct gd1_mgmt_friend_req { unsigned char uuid[16]; string hostname<>; + int port; + opaque vols<>; } ; struct gd1_mgmt_friend_rsp { @@ -24,11 +28,13 @@ struct gd1_mgmt_friend_rsp { string hostname<>; int op_ret; int op_errno; + int port; } ; struct gd1_mgmt_unfriend_req { unsigned char uuid[16]; string hostname<>; + int port; } ; struct gd1_mgmt_unfriend_rsp { @@ -36,6 +42,7 @@ struct gd1_mgmt_unfriend_rsp { string hostname<>; int op_ret; int op_errno; + int port; } ; struct gd1_mgmt_cluster_lock_req { @@ -89,6 +96,7 @@ struct gd1_mgmt_commit_op_rsp { struct gd1_mgmt_friend_update { unsigned char uuid[16]; opaque friends<>; + int port; } ; struct gd1_mgmt_friend_update_rsp { -- cgit