From a6b90707bf68fe62bf115cfb143d9df69627cb64 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Mon, 19 Jul 2010 05:54:25 +0000 Subject: Changes for volume commands Signed-off-by: Vijay Bellur Signed-off-by: Anand V. Avati BUG: 1161 (gluster volume start command segfaults glusterd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1161 --- rpc/xdr/src/cli1-xdr.c | 37 +++++++++++++++++++++++++++++++++++-- rpc/xdr/src/cli1-xdr.h | 44 +++++++++++++++++++++++++++++++++++++------- rpc/xdr/src/cli1.c | 29 +++++++++++++++++++++++++++++ rpc/xdr/src/cli1.h | 12 ++++++++++++ rpc/xdr/src/cli1.x | 17 ++++++++++++++++- rpc/xdr/src/glusterd1-xdr.c | 40 +++++++++++++++++++++++++++++++++++++++- rpc/xdr/src/glusterd1-xdr.h | 18 ++++++++++++++++++ rpc/xdr/src/glusterd1.c | 15 +++++++++++++++ rpc/xdr/src/glusterd1.h | 5 +++++ rpc/xdr/src/glusterd1.x | 14 ++++++++++---- 10 files changed, 216 insertions(+), 15 deletions(-) (limited to 'rpc/xdr') diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index 5cce70fa67f..832f762ecdb 100644 --- a/rpc/xdr/src/cli1-xdr.c +++ b/rpc/xdr/src/cli1-xdr.c @@ -3,7 +3,7 @@ * It was generated using rpcgen. */ -#include "cli1-xdr.h" +#include "cli1.h" bool_t xdr_gf1_cluster_type (XDR *xdrs, gf1_cluster_type *objp) @@ -24,7 +24,16 @@ xdr_gf1_cli_replace_op (XDR *xdrs, gf1_cli_replace_op *objp) } bool_t -xdr_gf1_cli_enum_friends_list (XDR *xdrs, gf1_cli_enum_friends_list *objp) +xdr_gf1_cli_friends_list (XDR *xdrs, gf1_cli_friends_list *objp) +{ + + if (!xdr_enum (xdrs, (enum_t *) objp)) + return FALSE; + return TRUE; +} + +bool_t +xdr_gf1_cli_get_volume (XDR *xdrs, gf1_cli_get_volume *objp) { if (!xdr_enum (xdrs, (enum_t *) objp)) @@ -100,6 +109,30 @@ xdr_gf1_cli_peer_list_rsp (XDR *xdrs, gf1_cli_peer_list_rsp *objp) return TRUE; } +bool_t +xdr_gf1_cli_get_vol_req (XDR *xdrs, gf1_cli_get_vol_req *objp) +{ + + if (!xdr_int (xdrs, &objp->flags)) + return FALSE; + if (!xdr_bytes (xdrs, (char **)&objp->dict.dict_val, (u_int *) &objp->dict.dict_len, ~0)) + return FALSE; + return TRUE; +} + +bool_t +xdr_gf1_cli_get_vol_rsp (XDR *xdrs, gf1_cli_get_vol_rsp *objp) +{ + + if (!xdr_int (xdrs, &objp->op_ret)) + return FALSE; + if (!xdr_int (xdrs, &objp->op_errno)) + return FALSE; + if (!xdr_bytes (xdrs, (char **)&objp->volumes.volumes_val, (u_int *) &objp->volumes.volumes_len, ~0)) + return FALSE; + return TRUE; +} + bool_t xdr_gf1_cli_create_vol_req (XDR *xdrs, gf1_cli_create_vol_req *objp) { diff --git a/rpc/xdr/src/cli1-xdr.h b/rpc/xdr/src/cli1-xdr.h index 81948b34aac..56dbef091f3 100644 --- a/rpc/xdr/src/cli1-xdr.h +++ b/rpc/xdr/src/cli1-xdr.h @@ -3,8 +3,8 @@ * It was generated using rpcgen. */ -#ifndef _GLUSTER1_H_RPCGEN -#define _GLUSTER1_H_RPCGEN +#ifndef _CLI1_H_RPCGEN +#define _CLI1_H_RPCGEN #include @@ -31,10 +31,15 @@ enum gf1_cli_replace_op { }; typedef enum gf1_cli_replace_op gf1_cli_replace_op; -enum gf1_cli_enum_friends_list { +enum gf1_cli_friends_list { GF_CLI_LIST_ALL = 1, }; -typedef enum gf1_cli_enum_friends_list gf1_cli_enum_friends_list; +typedef enum gf1_cli_friends_list gf1_cli_friends_list; + +enum gf1_cli_get_volume { + GF_CLI_GET_VOLUME_ALL = 1, +}; +typedef enum gf1_cli_get_volume gf1_cli_get_volume; struct gf1_cli_probe_req { char *hostname; @@ -79,6 +84,25 @@ struct gf1_cli_peer_list_rsp { }; typedef struct gf1_cli_peer_list_rsp gf1_cli_peer_list_rsp; +struct gf1_cli_get_vol_req { + int flags; + struct { + u_int dict_len; + char *dict_val; + } dict; +}; +typedef struct gf1_cli_get_vol_req gf1_cli_get_vol_req; + +struct gf1_cli_get_vol_rsp { + int op_ret; + int op_errno; + struct { + u_int volumes_len; + char *volumes_val; + } volumes; +}; +typedef struct gf1_cli_get_vol_rsp gf1_cli_get_vol_rsp; + struct gf1_cli_create_vol_req { char *volname; gf1_cluster_type type; @@ -236,13 +260,16 @@ typedef struct gf1_cli_set_vol_rsp gf1_cli_set_vol_rsp; #if defined(__STDC__) || defined(__cplusplus) extern bool_t xdr_gf1_cluster_type (XDR *, gf1_cluster_type*); extern bool_t xdr_gf1_cli_replace_op (XDR *, gf1_cli_replace_op*); -extern bool_t xdr_gf1_cli_enum_friends_list (XDR *, gf1_cli_enum_friends_list*); +extern bool_t xdr_gf1_cli_friends_list (XDR *, gf1_cli_friends_list*); +extern bool_t xdr_gf1_cli_get_volume (XDR *, gf1_cli_get_volume*); extern bool_t xdr_gf1_cli_probe_req (XDR *, gf1_cli_probe_req*); extern bool_t xdr_gf1_cli_probe_rsp (XDR *, gf1_cli_probe_rsp*); extern bool_t xdr_gf1_cli_deprobe_req (XDR *, gf1_cli_deprobe_req*); extern bool_t xdr_gf1_cli_deprobe_rsp (XDR *, gf1_cli_deprobe_rsp*); extern bool_t xdr_gf1_cli_peer_list_req (XDR *, gf1_cli_peer_list_req*); extern bool_t xdr_gf1_cli_peer_list_rsp (XDR *, gf1_cli_peer_list_rsp*); +extern bool_t xdr_gf1_cli_get_vol_req (XDR *, gf1_cli_get_vol_req*); +extern bool_t xdr_gf1_cli_get_vol_rsp (XDR *, gf1_cli_get_vol_rsp*); extern bool_t xdr_gf1_cli_create_vol_req (XDR *, gf1_cli_create_vol_req*); extern bool_t xdr_gf1_cli_create_vol_rsp (XDR *, gf1_cli_create_vol_rsp*); extern bool_t xdr_gf1_cli_delete_vol_req (XDR *, gf1_cli_delete_vol_req*); @@ -267,13 +294,16 @@ extern bool_t xdr_gf1_cli_set_vol_rsp (XDR *, gf1_cli_set_vol_rsp*); #else /* K&R C */ extern bool_t xdr_gf1_cluster_type (); extern bool_t xdr_gf1_cli_replace_op (); -extern bool_t xdr_gf1_cli_enum_friends_list (); +extern bool_t xdr_gf1_cli_friends_list (); +extern bool_t xdr_gf1_cli_get_volume (); extern bool_t xdr_gf1_cli_probe_req (); extern bool_t xdr_gf1_cli_probe_rsp (); extern bool_t xdr_gf1_cli_deprobe_req (); extern bool_t xdr_gf1_cli_deprobe_rsp (); extern bool_t xdr_gf1_cli_peer_list_req (); extern bool_t xdr_gf1_cli_peer_list_rsp (); +extern bool_t xdr_gf1_cli_get_vol_req (); +extern bool_t xdr_gf1_cli_get_vol_rsp (); extern bool_t xdr_gf1_cli_create_vol_req (); extern bool_t xdr_gf1_cli_create_vol_rsp (); extern bool_t xdr_gf1_cli_delete_vol_req (); @@ -301,4 +331,4 @@ extern bool_t xdr_gf1_cli_set_vol_rsp (); } #endif -#endif /* !_GLUSTER1_H_RPCGEN */ +#endif /* !_CLI1_H_RPCGEN */ diff --git a/rpc/xdr/src/cli1.c b/rpc/xdr/src/cli1.c index 008353b9fcd..65252e3c306 100644 --- a/rpc/xdr/src/cli1.c +++ b/rpc/xdr/src/cli1.c @@ -107,6 +107,35 @@ gf_xdr_from_cli_peer_list_req (struct iovec outmsg, void *req) return xdr_serialize_generic (outmsg, (void *)req, (xdrproc_t)xdr_gf1_cli_peer_list_req); } + +ssize_t +gf_xdr_serialize_cli_get_vol_rsp (struct iovec outmsg, void *rsp) +{ + return xdr_serialize_generic (outmsg, (void *)rsp, + (xdrproc_t)xdr_gf1_cli_get_vol_rsp); + +} + +ssize_t +gf_xdr_to_cli_get_vol_req (struct iovec inmsg, void *args) +{ + return xdr_to_generic (inmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_get_vol_req); +} + +ssize_t +gf_xdr_to_cli_get_vol_rsp (struct iovec inmsg, void *args) +{ + return xdr_to_generic (inmsg, (void *)args, + (xdrproc_t)xdr_gf1_cli_get_vol_rsp); +} + +ssize_t +gf_xdr_from_cli_get_vol_req (struct iovec outmsg, void *req) +{ + return xdr_serialize_generic (outmsg, (void *)req, + (xdrproc_t)xdr_gf1_cli_get_vol_req); +} ssize_t gf_xdr_serialize_cli_create_vol_rsp (struct iovec outmsg, void *rsp) { diff --git a/rpc/xdr/src/cli1.h b/rpc/xdr/src/cli1.h index ab67084de94..73f9f8d7b41 100644 --- a/rpc/xdr/src/cli1.h +++ b/rpc/xdr/src/cli1.h @@ -181,4 +181,16 @@ gf_xdr_to_cli_set_vol_rsp (struct iovec inmsg, void *args); ssize_t gf_xdr_from_cli_set_vol_req (struct iovec outmsg, void *req); +ssize_t +gf_xdr_serialize_cli_get_vol_rsp (struct iovec outmsg, void *rsp); + +ssize_t +gf_xdr_to_cli_get_vol_req (struct iovec inmsg, void *args); + +ssize_t +gf_xdr_to_cli_get_vol_rsp (struct iovec inmsg, void *args); + +ssize_t +gf_xdr_from_cli_get_vol_req (struct iovec outmsg, void *req); + #endif /* !_CLI1_H */ diff --git a/rpc/xdr/src/cli1.x b/rpc/xdr/src/cli1.x index a8af1b7d658..41f43a4855b 100644 --- a/rpc/xdr/src/cli1.x +++ b/rpc/xdr/src/cli1.x @@ -13,10 +13,14 @@ GF_REPLACE_OP_STATUS } ; -enum gf1_cli_enum_friends_list { +enum gf1_cli_friends_list { GF_CLI_LIST_ALL = 1 } ; +enum gf1_cli_get_volume { + GF_CLI_GET_VOLUME_ALL = 1 +} ; + struct gf1_cli_probe_req { string hostname<>; } ; @@ -48,6 +52,17 @@ struct gf1_cli_peer_list_rsp { opaque friends<>; } ; +struct gf1_cli_get_vol_req { + int flags; + opaque dict<>; +} ; + +struct gf1_cli_get_vol_rsp { + int op_ret; + int op_errno; + opaque volumes<>; +} ; + struct gf1_cli_create_vol_req { string volname<>; gf1_cluster_type type; diff --git a/rpc/xdr/src/glusterd1-xdr.c b/rpc/xdr/src/glusterd1-xdr.c index 32e6687c866..3ad32d94889 100644 --- a/rpc/xdr/src/glusterd1-xdr.c +++ b/rpc/xdr/src/glusterd1-xdr.c @@ -3,11 +3,21 @@ * It was generated using rpcgen. */ -#include "glusterd1-xdr.h" +#include "glusterd1.h" + +bool_t +xdr_glusterd_volume_status (XDR *xdrs, glusterd_volume_status *objp) +{ + + if (!xdr_enum (xdrs, (enum_t *) objp)) + return FALSE; + return TRUE; +} bool_t xdr_gd1_mgmt_probe_req (XDR *xdrs, gd1_mgmt_probe_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -19,6 +29,7 @@ xdr_gd1_mgmt_probe_req (XDR *xdrs, gd1_mgmt_probe_req *objp) bool_t xdr_gd1_mgmt_probe_rsp (XDR *xdrs, gd1_mgmt_probe_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -30,6 +41,7 @@ xdr_gd1_mgmt_probe_rsp (XDR *xdrs, gd1_mgmt_probe_rsp *objp) bool_t xdr_gd1_mgmt_friend_req (XDR *xdrs, gd1_mgmt_friend_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -41,6 +53,7 @@ xdr_gd1_mgmt_friend_req (XDR *xdrs, gd1_mgmt_friend_req *objp) bool_t xdr_gd1_mgmt_friend_rsp (XDR *xdrs, gd1_mgmt_friend_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -56,6 +69,7 @@ xdr_gd1_mgmt_friend_rsp (XDR *xdrs, gd1_mgmt_friend_rsp *objp) bool_t xdr_gd1_mgmt_unfriend_req (XDR *xdrs, gd1_mgmt_unfriend_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -67,6 +81,7 @@ xdr_gd1_mgmt_unfriend_req (XDR *xdrs, gd1_mgmt_unfriend_req *objp) bool_t xdr_gd1_mgmt_unfriend_rsp (XDR *xdrs, gd1_mgmt_unfriend_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -82,6 +97,7 @@ xdr_gd1_mgmt_unfriend_rsp (XDR *xdrs, gd1_mgmt_unfriend_rsp *objp) bool_t xdr_gd1_mgmt_cluster_lock_req (XDR *xdrs, gd1_mgmt_cluster_lock_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -91,6 +107,7 @@ xdr_gd1_mgmt_cluster_lock_req (XDR *xdrs, gd1_mgmt_cluster_lock_req *objp) bool_t xdr_gd1_mgmt_cluster_lock_rsp (XDR *xdrs, gd1_mgmt_cluster_lock_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -104,6 +121,7 @@ xdr_gd1_mgmt_cluster_lock_rsp (XDR *xdrs, gd1_mgmt_cluster_lock_rsp *objp) bool_t xdr_gd1_mgmt_cluster_unlock_req (XDR *xdrs, gd1_mgmt_cluster_unlock_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -113,6 +131,7 @@ xdr_gd1_mgmt_cluster_unlock_req (XDR *xdrs, gd1_mgmt_cluster_unlock_req *objp) bool_t xdr_gd1_mgmt_cluster_unlock_rsp (XDR *xdrs, gd1_mgmt_cluster_unlock_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -126,6 +145,7 @@ xdr_gd1_mgmt_cluster_unlock_rsp (XDR *xdrs, gd1_mgmt_cluster_unlock_rsp *objp) bool_t xdr_gd1_mgmt_stage_op_req (XDR *xdrs, gd1_mgmt_stage_op_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -139,6 +159,7 @@ xdr_gd1_mgmt_stage_op_req (XDR *xdrs, gd1_mgmt_stage_op_req *objp) bool_t xdr_gd1_mgmt_stage_op_rsp (XDR *xdrs, gd1_mgmt_stage_op_rsp *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -154,6 +175,7 @@ xdr_gd1_mgmt_stage_op_rsp (XDR *xdrs, gd1_mgmt_stage_op_rsp *objp) bool_t xdr_gd1_mgmt_commit_op_req (XDR *xdrs, gd1_mgmt_commit_op_req *objp) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -167,6 +189,7 @@ 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) { + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, sizeof (u_char), (xdrproc_t) xdr_u_char)) return FALSE; @@ -178,3 +201,18 @@ xdr_gd1_mgmt_commit_op_rsp (XDR *xdrs, gd1_mgmt_commit_op_rsp *objp) return FALSE; return TRUE; } + +bool_t +xdr_gd1_mgmt_friend_update (XDR *xdrs, gd1_mgmt_friend_update *objp) +{ + + if (!xdr_vector (xdrs, (char *)objp->uuid, 16, + sizeof (u_char), (xdrproc_t) xdr_u_char)) + return FALSE; + if (!xdr_vector (xdrs, (char *)objp->friend_uuid, 16, + sizeof (u_char), (xdrproc_t) xdr_u_char)) + return FALSE; + if (!xdr_string (xdrs, &objp->hostname, ~0)) + return FALSE; + return TRUE; +} diff --git a/rpc/xdr/src/glusterd1-xdr.h b/rpc/xdr/src/glusterd1-xdr.h index ee5fb9c7db3..2fab3fd3b81 100644 --- a/rpc/xdr/src/glusterd1-xdr.h +++ b/rpc/xdr/src/glusterd1-xdr.h @@ -14,6 +14,13 @@ extern "C" { #endif +enum glusterd_volume_status { + GLUSTERD_STATUS_NONE = 0, + GLUSTERD_STATUS_STARTED = 0 + 1, + GLUSTERD_STATUS_STOPPED = 0 + 2, +}; +typedef enum glusterd_volume_status glusterd_volume_status; + struct gd1_mgmt_probe_req { u_char uuid[16]; char *hostname; @@ -114,9 +121,17 @@ struct gd1_mgmt_commit_op_rsp { }; typedef struct gd1_mgmt_commit_op_rsp gd1_mgmt_commit_op_rsp; +struct gd1_mgmt_friend_update { + u_char uuid[16]; + u_char friend_uuid[16]; + char *hostname; +}; +typedef struct gd1_mgmt_friend_update gd1_mgmt_friend_update; + /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) +extern bool_t xdr_glusterd_volume_status (XDR *, glusterd_volume_status*); extern bool_t xdr_gd1_mgmt_probe_req (XDR *, gd1_mgmt_probe_req*); extern bool_t xdr_gd1_mgmt_probe_rsp (XDR *, gd1_mgmt_probe_rsp*); extern bool_t xdr_gd1_mgmt_friend_req (XDR *, gd1_mgmt_friend_req*); @@ -131,8 +146,10 @@ extern bool_t xdr_gd1_mgmt_stage_op_req (XDR *, gd1_mgmt_stage_op_req*); extern bool_t xdr_gd1_mgmt_stage_op_rsp (XDR *, gd1_mgmt_stage_op_rsp*); extern bool_t xdr_gd1_mgmt_commit_op_req (XDR *, gd1_mgmt_commit_op_req*); extern bool_t xdr_gd1_mgmt_commit_op_rsp (XDR *, gd1_mgmt_commit_op_rsp*); +extern bool_t xdr_gd1_mgmt_friend_update (XDR *, gd1_mgmt_friend_update*); #else /* K&R C */ +extern bool_t xdr_glusterd_volume_status (); extern bool_t xdr_gd1_mgmt_probe_req (); extern bool_t xdr_gd1_mgmt_probe_rsp (); extern bool_t xdr_gd1_mgmt_friend_req (); @@ -147,6 +164,7 @@ extern bool_t xdr_gd1_mgmt_stage_op_req (); extern bool_t xdr_gd1_mgmt_stage_op_rsp (); extern bool_t xdr_gd1_mgmt_commit_op_req (); extern bool_t xdr_gd1_mgmt_commit_op_rsp (); +extern bool_t xdr_gd1_mgmt_friend_update (); #endif /* K&R C */ diff --git a/rpc/xdr/src/glusterd1.c b/rpc/xdr/src/glusterd1.c index 76ceea3fda9..6b079f4f450 100644 --- a/rpc/xdr/src/glusterd1.c +++ b/rpc/xdr/src/glusterd1.c @@ -85,6 +85,13 @@ gd_xdr_to_mgmt_friend_req (struct iovec inmsg, void *args) (xdrproc_t)xdr_gd1_mgmt_friend_req); } +ssize_t +gd_xdr_to_mgmt_friend_update (struct iovec inmsg, void *args) +{ + return xdr_to_generic (inmsg, (void *)args, + (xdrproc_t)xdr_gd1_mgmt_friend_update); +} + ssize_t gd_xdr_to_mgmt_cluster_lock_req (struct iovec inmsg, void *args) { @@ -164,6 +171,14 @@ gd_xdr_from_mgmt_probe_req (struct iovec outmsg, void *req) } +ssize_t +gd_xdr_from_mgmt_friend_update (struct iovec outmsg, void *req) +{ + return xdr_serialize_generic (outmsg, (void *)req, + (xdrproc_t)xdr_gd1_mgmt_friend_update); + +} + ssize_t gd_xdr_from_mgmt_friend_req (struct iovec outmsg, void *req) { diff --git a/rpc/xdr/src/glusterd1.h b/rpc/xdr/src/glusterd1.h index 44b1c546502..b4c4e3d71d6 100644 --- a/rpc/xdr/src/glusterd1.h +++ b/rpc/xdr/src/glusterd1.h @@ -98,4 +98,9 @@ gd_xdr_serialize_mgmt_commit_op_rsp (struct iovec outmsg, void *rsp); ssize_t gd_xdr_from_mgmt_commit_op_req (struct iovec outmsg, void *req); +ssize_t +gd_xdr_to_mgmt_friend_update (struct iovec outmsg, void *req); + +ssize_t +gd_xdr_from_mgmt_friend_update (struct iovec outmsg, void *req); #endif /* !_MSG_GD_XDR_H */ diff --git a/rpc/xdr/src/glusterd1.x b/rpc/xdr/src/glusterd1.x index 935fde4ef1b..f374ea4bff8 100644 --- a/rpc/xdr/src/glusterd1.x +++ b/rpc/xdr/src/glusterd1.x @@ -1,3 +1,8 @@ + enum glusterd_volume_status { + GLUSTERD_STATUS_NONE = 0, + GLUSTERD_STATUS_STARTED, + GLUSTERD_STATUS_STOPPED +} ; struct gd1_mgmt_probe_req { unsigned char uuid[16]; @@ -81,7 +86,8 @@ struct gd1_mgmt_commit_op_rsp { int op_errno; } ; - - - - +struct gd1_mgmt_friend_update { + unsigned char uuid[16]; + unsigned char friend_uuid[16]; + string hostname<>; +} ; -- cgit