diff options
Diffstat (limited to 'rpc')
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.c | 6 | ||||
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.h | 1 | ||||
| -rw-r--r-- | rpc/xdr/src/cli1-xdr.x | 1 | ||||
| -rw-r--r-- | rpc/xdr/src/glusterd1-xdr.c | 51 | ||||
| -rw-r--r-- | rpc/xdr/src/glusterd1-xdr.h | 1 | ||||
| -rw-r--r-- | rpc/xdr/src/glusterd1-xdr.x | 1 | 
6 files changed, 61 insertions, 0 deletions
diff --git a/rpc/xdr/src/cli1-xdr.c b/rpc/xdr/src/cli1-xdr.c index 56562ee3d..607c36b3e 100644 --- a/rpc/xdr/src/cli1-xdr.c +++ b/rpc/xdr/src/cli1-xdr.c @@ -252,6 +252,8 @@ xdr_gf1_cli_probe_rsp (XDR *xdrs, gf1_cli_probe_rsp *objp)  		}  		 if (!xdr_string (xdrs, &objp->hostname, ~0))  			 return FALSE; +		 if (!xdr_string (xdrs, &objp->op_errstr, ~0)) +			 return FALSE;  		return TRUE;  	} else if (xdrs->x_op == XDR_DECODE) {  		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); @@ -270,6 +272,8 @@ xdr_gf1_cli_probe_rsp (XDR *xdrs, gf1_cli_probe_rsp *objp)  		}  		 if (!xdr_string (xdrs, &objp->hostname, ~0))  			 return FALSE; +		 if (!xdr_string (xdrs, &objp->op_errstr, ~0)) +			 return FALSE;  	 return TRUE;  	} @@ -281,6 +285,8 @@ xdr_gf1_cli_probe_rsp (XDR *xdrs, gf1_cli_probe_rsp *objp)  		 return FALSE;  	 if (!xdr_string (xdrs, &objp->hostname, ~0))  		 return FALSE; +	 if (!xdr_string (xdrs, &objp->op_errstr, ~0)) +		 return FALSE;  	return TRUE;  } diff --git a/rpc/xdr/src/cli1-xdr.h b/rpc/xdr/src/cli1-xdr.h index 234f0f7f7..48aa863cb 100644 --- a/rpc/xdr/src/cli1-xdr.h +++ b/rpc/xdr/src/cli1-xdr.h @@ -200,6 +200,7 @@ struct gf1_cli_probe_rsp {  	int op_errno;  	int port;  	char *hostname; +	char *op_errstr;  };  typedef struct gf1_cli_probe_rsp gf1_cli_probe_rsp; diff --git a/rpc/xdr/src/cli1-xdr.x b/rpc/xdr/src/cli1-xdr.x index 61af3a14c..750b491e5 100644 --- a/rpc/xdr/src/cli1-xdr.x +++ b/rpc/xdr/src/cli1-xdr.x @@ -135,6 +135,7 @@ enum gf_cli_status_type {          int     op_errno;  	int	port;          string  hostname<>; +        string  op_errstr<>;  }  ;   struct gf1_cli_deprobe_req { diff --git a/rpc/xdr/src/glusterd1-xdr.c b/rpc/xdr/src/glusterd1-xdr.c index a5438d23e..28ab49b6f 100644 --- a/rpc/xdr/src/glusterd1-xdr.c +++ b/rpc/xdr/src/glusterd1-xdr.c @@ -66,6 +66,55 @@ xdr_gd1_mgmt_probe_rsp (XDR *xdrs, gd1_mgmt_probe_rsp *objp)  	register int32_t *buf;          buf = NULL; + +	if (xdrs->x_op == XDR_ENCODE) { +		 if (!xdr_vector (xdrs, (char *)objp->uuid, 16, +			sizeof (u_char), (xdrproc_t) xdr_u_char)) +			 return FALSE; +		 if (!xdr_string (xdrs, &objp->hostname, ~0)) +			 return FALSE; +		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); +		if (buf == NULL) { +			 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; + +		} else { +		IXDR_PUT_LONG(buf, objp->port); +		IXDR_PUT_LONG(buf, objp->op_ret); +		IXDR_PUT_LONG(buf, objp->op_errno); +		} +		 if (!xdr_string (xdrs, &objp->op_errstr, ~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; +		 if (!xdr_string (xdrs, &objp->hostname, ~0)) +			 return FALSE; +		buf = XDR_INLINE (xdrs, 3 * BYTES_PER_XDR_UNIT); +		if (buf == NULL) { +			 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; + +		} else { +		objp->port = IXDR_GET_LONG(buf); +		objp->op_ret = IXDR_GET_LONG(buf); +		objp->op_errno = IXDR_GET_LONG(buf); +		} +		 if (!xdr_string (xdrs, &objp->op_errstr, ~0)) +			 return FALSE; +	 return TRUE; +	} +  	 if (!xdr_vector (xdrs, (char *)objp->uuid, 16,  		sizeof (u_char), (xdrproc_t) xdr_u_char))  		 return FALSE; @@ -77,6 +126,8 @@ xdr_gd1_mgmt_probe_rsp (XDR *xdrs, gd1_mgmt_probe_rsp *objp)  		 return FALSE;  	 if (!xdr_int (xdrs, &objp->op_errno))  		 return FALSE; +	 if (!xdr_string (xdrs, &objp->op_errstr, ~0)) +		 return FALSE;  	return TRUE;  } diff --git a/rpc/xdr/src/glusterd1-xdr.h b/rpc/xdr/src/glusterd1-xdr.h index 14c41baff..89de04ebe 100644 --- a/rpc/xdr/src/glusterd1-xdr.h +++ b/rpc/xdr/src/glusterd1-xdr.h @@ -62,6 +62,7 @@ struct gd1_mgmt_probe_rsp {  	int port;  	int op_ret;  	int op_errno; +	char *op_errstr;  };  typedef struct gd1_mgmt_probe_rsp gd1_mgmt_probe_rsp; diff --git a/rpc/xdr/src/glusterd1-xdr.x b/rpc/xdr/src/glusterd1-xdr.x index c30c71e02..fc1bb58b4 100644 --- a/rpc/xdr/src/glusterd1-xdr.x +++ b/rpc/xdr/src/glusterd1-xdr.x @@ -16,6 +16,7 @@          int     port;          int     op_ret;          int     op_errno; +        string op_errstr<>;  }  ;  struct gd1_mgmt_friend_req {  | 
