From 7f1c2eb4d473b9323b3a31b33473f7fe06cee449 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Fri, 20 May 2011 16:56:23 +0000 Subject: rpc: use AI_ADDRCONFIG selectively NetBSD does not have AI_ADDRCONFIG. This patch has a side effect: glusterfsd listens on IPv6 adresses only by default. Option transport.socket.bind-address in volume server-tcp must be used to listen on an IPv4 address. Thanks to: Emmanuel Dreyfus Signed-off-by: Anand Avati BUG: 2923 (NetBSD port) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2923 --- libglusterfs/src/common-utils.c | 4 ++++ rpc/rpc-lib/src/rpc-transport.h | 4 ++++ xlators/nfs/lib/src/rpc-socket.c | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index 7cb389ba3..29af725a0 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -49,6 +49,10 @@ #include "globals.h" #include "md5.h" +#ifndef AI_ADDRCONFIG +#define AI_ADDRCONFIG 0 +#endif /* AI_ADDRCONFIG */ + typedef int32_t (*rw_op_t)(int32_t fd, char *buf, int32_t size); typedef int32_t (*rwv_op_t)(int32_t fd, const struct iovec *buf, int32_t size); diff --git a/rpc/rpc-lib/src/rpc-transport.h b/rpc/rpc-lib/src/rpc-transport.h index 59bec99fd..3161ec9b0 100644 --- a/rpc/rpc-lib/src/rpc-transport.h +++ b/rpc/rpc-lib/src/rpc-transport.h @@ -40,6 +40,10 @@ #define MAX_IOVEC 16 #endif +#ifndef AI_ADDRCONFIG +#define AI_ADDRCONFIG 0 +#endif /* AI_ADDRCONFIG */ + /* Given the 4-byte fragment header, returns non-zero if this fragment * is the last fragment for the RPC record being assemebled. * RPC Record marking standard defines a 32 bit value as the fragment diff --git a/xlators/nfs/lib/src/rpc-socket.c b/xlators/nfs/lib/src/rpc-socket.c index ec56f3fc4..3d18a3c48 100644 --- a/xlators/nfs/lib/src/rpc-socket.c +++ b/xlators/nfs/lib/src/rpc-socket.c @@ -37,6 +37,10 @@ #include #include +#ifndef AI_ADDRCONFIG +#define AI_ADDRCONFIG 0 +#endif /* AI_ADDRCONFIG */ + static int nfs_rpcsvc_socket_server_get_local_socket (int addrfam, char *listenhost, uint16_t listenport, -- cgit