[sheepdog] [PATCH v3 1/2] move node_to_str() and str_to_node() from sheep/cluster.h to include/internal_proto.h

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Fri Nov 16 09:28:38 CET 2012


At Wed, 14 Nov 2012 15:44:07 +0900,
Hitoshi Mitake wrote:
> 
> sheepkeeper uses node_to_str() and str_to_node(), so they should be
> moved to the header which can be included by other directories of
> sheep/.
> 
> Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
> ---
>  include/internal_proto.h |   41 +++++++++++++++++++++++++++++++++++++++++
>  sheep/cluster.h          |   40 ----------------------------------------
>  2 files changed, 41 insertions(+), 40 deletions(-)
> 
> diff --git a/include/internal_proto.h b/include/internal_proto.h
> index a45b818..722fab0 100644
> --- a/include/internal_proto.h
> +++ b/include/internal_proto.h
> @@ -19,6 +19,7 @@
>  
>  #include <stdint.h>
>  #include "sheepdog_proto.h"

The current master doesn't contain this line.  Please rebase before
sending patches.

Thanks,

Kazutaka

> +#include "net.h"
>  
>  #define SD_SHEEP_PROTO_VER 0x06
>  
> @@ -223,4 +224,44 @@ struct vdi_op_message {
>  	uint8_t data[0];
>  };
>  
> +static inline char *node_to_str(const struct sd_node *id)
> +{
> +	static char str[256];
> +	char name[256];
> +	int af = AF_INET6;
> +	const uint8_t *addr = id->nid.addr;
> +
> +	/* Find address family type */
> +	if (addr[12]) {
> +		int  oct_no = 0;
> +		while (!addr[oct_no] && oct_no++ < 12)
> +			;
> +		if (oct_no == 12)
> +			af = AF_INET;
> +	}
> +
> +	snprintf(str, sizeof(str), "%s ip:%s port:%d",
> +		(af == AF_INET) ? "IPv4" : "IPv6",
> +		addr_to_str(name, sizeof(name), id->nid.addr, 0), id->nid.port);
> +
> +	return str;
> +}
> +
> +static inline struct sd_node *str_to_node(const char *str, struct sd_node *id)
> +{
> +	int port, af = AF_INET6;
> +	char v[8], ip[256];
> +
> +	sscanf(str, "%s ip:%s port:%d", v, ip, &port);
> +	id->nid.port = port;
> +
> +	if (strcmp(v, "IPv4") == 0)
> +		af = AF_INET;
> +
> +	if (!str_to_addr(af, ip, id->nid.addr))
> +		return NULL;
> +
> +	return id;
> +}
> +
>  #endif /* __INTERNAL_PROTO_H__ */
> diff --git a/sheep/cluster.h b/sheep/cluster.h
> index 2679c19..aa0ede6 100644
> --- a/sheep/cluster.h
> +++ b/sheep/cluster.h
> @@ -153,46 +153,6 @@ static inline const char *get_cdrv_option(const struct cluster_driver *cdrv,
>  		return NULL;
>  }
>  
> -static inline char *node_to_str(const struct sd_node *id)
> -{
> -	static char str[256];
> -	char name[256];
> -	int af = AF_INET6;
> -	const uint8_t *addr = id->nid.addr;
> -
> -	/* Find address family type */
> -	if (addr[12]) {
> -		int  oct_no = 0;
> -		while (!addr[oct_no] && oct_no++ < 12)
> -			;
> -		if (oct_no == 12)
> -			af = AF_INET;
> -	}
> -
> -	snprintf(str, sizeof(str), "%s ip:%s port:%d",
> -		(af == AF_INET) ? "IPv4" : "IPv6",
> -		addr_to_str(name, sizeof(name), id->nid.addr, 0), id->nid.port);
> -
> -	return str;
> -}
> -
> -static inline struct sd_node *str_to_node(const char *str, struct sd_node *id)
> -{
> -	int port, af = AF_INET6;
> -	char v[8], ip[256];
> -
> -	sscanf(str, "%s ip:%s port:%d", v, ip, &port);
> -	id->nid.port = port;
> -
> -	if (strcmp(v, "IPv4") == 0)
> -		af = AF_INET;
> -
> -	if (!str_to_addr(af, ip, id->nid.addr))
> -		return NULL;
> -
> -	return id;
> -}
> -
>  /* callbacks back into sheepdog from the cluster drivers */
>  void sd_join_handler(const struct sd_node *joined,
>  		     const struct sd_node *members,
> -- 
> 1.7.2.5
> 
> -- 
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog



More information about the sheepdog mailing list