[PATCH 3/9] nfs-utils: replace function-specific switches with HAVE_LIBTIRPC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Instead of switching in TI-RPC-specific logic with a function-specific
switch like HAVE_CLNT_VG_CREATE, let's use the more generic
HAVE_LIBTIRPC macro everywhere.

This simplifies ./configure (always a good thing), and makes it more
clear in the source code exactly what the extra conditionally compiled
code is for.

Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
---

 aclocal/libtirpc.m4      |    5 -----
 support/nfs/getport.c    |   36 +++++++++++++++++----------------
 support/nfs/rpc_socket.c |   50 +++++++++++++++++++++++-----------------------
 3 files changed, 43 insertions(+), 48 deletions(-)

diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
index 67c4012..b1f3669 100644
--- a/aclocal/libtirpc.m4
+++ b/aclocal/libtirpc.m4
@@ -15,11 +15,6 @@ AC_DEFUN([AC_LIBTIRPC], [
     AC_CHECK_HEADERS([tirpc/netconfig.h], ,
                      [AC_MSG_ERROR([libtirpc headers not found.])])
 
-    dnl set up HAVE_FOO for various functions
-    AC_CHECK_FUNCS([getnetconfig \
-                    clnt_create clnt_create_timed \
-                    clnt_vc_create clnt_dg_create xdr_rpcb])
-
   fi
 
 ])dnl
diff --git a/support/nfs/getport.c b/support/nfs/getport.c
index 5da1749..2255b7d 100644
--- a/support/nfs/getport.c
+++ b/support/nfs/getport.c
@@ -40,7 +40,7 @@
 #include <rpc/rpc.h>
 #include <rpc/pmap_prot.h>
 
-#ifdef HAVE_TIRPC_NETCONFIG_H
+#ifdef HAVE_LIBTIRPC
 #include <tirpc/netconfig.h>
 #include <tirpc/rpc/rpcb_prot.h>
 #endif
@@ -53,17 +53,17 @@
  * Rpcbind's local socket service does not seem to be working.
  * Disable this logic for now.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 #undef NFS_GP_LOCAL
-#else	/* HAVE_XDR_RPCB */
+#else	/* !HAVE_LIBTIRPC */
 #undef NFS_GP_LOCAL
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* !HAVE_LIBTIRPC */
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 const static rpcvers_t default_rpcb_version = RPCBVERS_4;
-#else
+#else	/* !HAVE_LIBTIRPC */
 const static rpcvers_t default_rpcb_version = PMAPVERS;
-#endif
+#endif	/* !HAVE_LIBTIRPC */
 
 #ifdef HAVE_DECL_AI_ADDRCONFIG
 /*
@@ -242,7 +242,7 @@ static CLIENT *nfs_gp_get_rpcbclient(const struct sockaddr *sap,
  * Returns a '\0'-terminated string if successful; otherwise NULL.
  * rpc_createerr.cf_stat is set to reflect the error.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 static char *nfs_gp_get_netid(const sa_family_t family,
 			      const unsigned short protocol)
@@ -290,7 +290,7 @@ out:
 	return NULL;
 }
 
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* HAVE_LIBTIRPC */
 
 /*
  * Extract a port number from a universal address, and terminate the
@@ -453,7 +453,7 @@ static int nfs_gp_ping(CLIENT *client, struct timeval timeout)
 	return (int)(status == RPC_SUCCESS);
 }
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 /*
  * Initialize the rpcb argument for a GETADDR request.
@@ -565,7 +565,7 @@ static unsigned short nfs_gp_rpcb_getaddr(CLIENT *client,
 	return port;
 }
 
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* HAVE_LIBTIRPC */
 
 /*
  * Try GETPORT request via rpcbind version 2.
@@ -595,7 +595,7 @@ static unsigned long nfs_gp_pmap_getport(CLIENT *client,
 	return port;
 }
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 static unsigned short nfs_gp_getport_rpcb(CLIENT *client,
 					  const struct sockaddr *sap,
@@ -617,7 +617,7 @@ static unsigned short nfs_gp_getport_rpcb(CLIENT *client,
 	return port;
 }
 
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* HAVE_LIBTIRPC */
 
 static unsigned long nfs_gp_getport_pmap(CLIENT *client,
 					 const rpcprog_t program,
@@ -652,11 +652,11 @@ static unsigned short nfs_gp_getport(CLIENT *client,
 				     struct timeval timeout)
 {
 	switch (sap->sa_family) {
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 	case AF_INET6:
 		return nfs_gp_getport_rpcb(client, sap, salen, program,
 						version, protocol, timeout);
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* HAVE_LIBTIRPC */
 	case AF_INET:
 		return nfs_gp_getport_pmap(client, program, version,
 							protocol, timeout);
@@ -922,7 +922,7 @@ unsigned short nfs_getlocalport(const rpcprot_t program,
  * address of the same address family.  In this way an RPC server can
  * advertise via rpcbind that it does not support AF_INET6.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
 				const socklen_t salen,
@@ -955,7 +955,7 @@ unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
 	return port;
 }
 
-#else	/* HAVE_XDR_RPCB */
+#else	/* !HAVE_LIBTIRPC */
 
 unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
 				const socklen_t salen,
@@ -971,7 +971,7 @@ unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
 	return 0;
 }
 
-#endif	/* HAVE_XDR_RPCB */
+#endif	/* !HAVE_LIBTIRPC */
 
 /**
  * nfs_pmap_getport - query rpcbind via the portmap protocol (rpcbindv2)
diff --git a/support/nfs/rpc_socket.c b/support/nfs/rpc_socket.c
index b7420d1..4b4b0be 100644
--- a/support/nfs/rpc_socket.c
+++ b/support/nfs/rpc_socket.c
@@ -40,7 +40,7 @@
 
 #include "nfsrpc.h"
 
-#ifdef HAVE_TIRPC_NETCONFIG_H
+#ifdef HAVE_LIBTIRPC
 
 /*
  * Most of the headers under /usr/include/tirpc are currently
@@ -84,7 +84,7 @@ extern CLIENT *clnt_vc_create(const int, const struct netbuf *,
 			      const rpcprog_t, const rpcvers_t,
 			      u_int, u_int);
 
-#endif	/* HAVE_TIRPC_NETCONFIG_H */
+#endif	/* HAVE_LIBTIRPC */
 
 /*
  * If "-1" is specified in the tv_sec field, use these defaults instead.
@@ -107,14 +107,14 @@ static CLIENT *nfs_get_localclient(const struct sockaddr *sap,
 				   const rpcvers_t version,
 				   struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
 	struct sockaddr_storage address;
 	const struct netbuf nbuf = {
 		.maxlen		= sizeof(struct sockaddr_un),
 		.len		= (size_t)salen,
 		.buf		= &address,
 	};
-#endif	/* HAVE_CLNT_VC_CREATE */
+#endif	/* HAVE_LIBTIRPC */
 	CLIENT *client;
 	int sock;
 
@@ -128,13 +128,13 @@ static CLIENT *nfs_get_localclient(const struct sockaddr *sap,
 	if (timeout->tv_sec == -1)
 		timeout->tv_sec = NFSRPC_TIMEOUT_TCP;
 
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
 	memcpy(nbuf.buf, sap, (size_t)salen);
 	client = clnt_vc_create(sock, &nbuf, program, version, 0, 0);
-#else	/* HAVE_CLNT_VC_CREATE */
+#else	/* !HAVE_LIBTIRPC */
 	client = clntunix_create((struct sockaddr_un *)sap,
 					program, version, &sock, 0, 0);
-#endif	/* HAVE_CLNT_VC_CREATE */
+#endif	/* !HAVE_LIBTIRPC */
 	if (client != NULL)
 		CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
 	else
@@ -261,23 +261,23 @@ static CLIENT *nfs_get_udpclient(const struct sockaddr *sap,
 				 const rpcvers_t version,
 				 struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_DG_CREATE
+	CLIENT *client;
+	int ret, sock;
+#ifdef HAVE_LIBTIRPC
 	struct sockaddr_storage address;
 	const struct netbuf nbuf = {
 		.maxlen		= salen,
 		.len		= salen,
 		.buf		= &address,
 	};
-#endif	/* HAVE_CLNT_DG_CREATE */
-	CLIENT *client;
-	int ret, sock;
 
-#ifndef HAVE_CLNT_DG_CREATE
+#else	/* !HAVE_LIBTIRPC */
+
 	if (sap->sa_family != AF_INET) {
 		rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
 		return NULL;
 	}
-#endif	/* !HAVE_CLNT_DG_CREATE */
+#endif	/* !HAVE_LIBTIRPC */
 
 	sock = socket((int)sap->sa_family, SOCK_DGRAM, IPPROTO_UDP);
 	if (sock == -1) {
@@ -305,13 +305,13 @@ static CLIENT *nfs_get_udpclient(const struct sockaddr *sap,
 		return NULL;
 	}
 
-#ifdef HAVE_CLNT_DG_CREATE
+#ifdef HAVE_LIBTIRPC
 	memcpy(nbuf.buf, sap, (size_t)salen);
 	client = clnt_dg_create(sock, &nbuf, program, version, 0, 0);
-#else	/* HAVE_CLNT_DG_CREATE */
+#else	/* !HAVE_LIBTIRPC */
 	client = clntudp_create((struct sockaddr_in *)sap, program,
 					version, *timeout, &sock);
-#endif	/* HAVE_CLNT_DG_CREATE */
+#endif	/* !HAVE_LIBTIRPC */
 	if (client != NULL) {
 		CLNT_CONTROL(client, CLSET_RETRY_TIMEOUT, (char *)timeout);
 		CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
@@ -337,23 +337,23 @@ static CLIENT *nfs_get_tcpclient(const struct sockaddr *sap,
 				 const rpcvers_t version,
 				 struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_VC_CREATE
+	CLIENT *client;
+	int ret, sock;
+#ifdef HAVE_LIBTIRPC
 	struct sockaddr_storage address;
 	const struct netbuf nbuf = {
 		.maxlen		= salen,
 		.len		= salen,
 		.buf		= &address,
 	};
-#endif	/* HAVE_CLNT_VC_CREATE */
-	CLIENT *client;
-	int ret, sock;
 
-#ifndef HAVE_CLNT_VC_CREATE
+#else	/* !HAVE_LIBTIRPC */
+
 	if (sap->sa_family != AF_INET) {
 		rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
 		return NULL;
 	}
-#endif	/* !HAVE_CLNT_VC_CREATE */
+#endif	/* !HAVE_LIBTIRPC */
 
 	sock = socket((int)sap->sa_family, SOCK_STREAM, IPPROTO_TCP);
 	if (sock == -1) {
@@ -381,13 +381,13 @@ static CLIENT *nfs_get_tcpclient(const struct sockaddr *sap,
 		return NULL;
 	}
 
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
 	memcpy(nbuf.buf, sap, (size_t)salen);
 	client = clnt_vc_create(sock, &nbuf, program, version, 0, 0);
-#else	/* HAVE_CLNT_VC_CREATE */
+#else	/* !HAVE_LIBTIRPC */
 	client = clnttcp_create((struct sockaddr_in *)sap,
 					program, version, &sock, 0, 0);
-#endif	/* HAVE_CLNT_VC_CREATE */
+#endif	/* !HAVE_LIBTIRPC */
 	if (client != NULL)
 		CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
 	else

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux