summaryrefslogtreecommitdiffstats
path: root/support/nfs/rpc_socket.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2009-07-14 16:24:11 -0400
committerSteve Dickson <steved@redhat.com>2009-07-14 16:24:11 -0400
commitc7fa61e76f072d97a9bdb4a551aa2ba28e5818cc (patch)
treec6e4dbd2357cbbe5c71646be87b5929ad3f24aab /support/nfs/rpc_socket.c
parente188c214f487c9783ab3ae3e987d9a98b9298dfb (diff)
downloadnfs-utils-c7fa61e76f072d97a9bdb4a551aa2ba28e5818cc.tar.gz
nfs-utils-c7fa61e76f072d97a9bdb4a551aa2ba28e5818cc.tar.xz
nfs-utils-c7fa61e76f072d97a9bdb4a551aa2ba28e5818cc.zip
getport: Clear shared error fields before trying rpcbind queries
Some RPC errors set fields in rpc_createerr.cf_error in addition to cf_stat. Be sure to clear _all_ error fields in rpc_createerr each time through the rpcbind API. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'support/nfs/rpc_socket.c')
-rw-r--r--support/nfs/rpc_socket.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/support/nfs/rpc_socket.c b/support/nfs/rpc_socket.c
index ac4e6d8..a080487 100644
--- a/support/nfs/rpc_socket.c
+++ b/support/nfs/rpc_socket.c
@@ -443,6 +443,8 @@ CLIENT *nfs_get_rpcclient(const struct sockaddr *sap,
struct sockaddr_in *sin = (struct sockaddr_in *)sap;
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sap;
+ nfs_clear_rpc_createerr();
+
switch (sap->sa_family) {
case AF_LOCAL:
return nfs_get_localclient(sap, salen, program,
@@ -506,6 +508,8 @@ CLIENT *nfs_get_priv_rpcclient(const struct sockaddr *sap,
struct sockaddr_in *sin = (struct sockaddr_in *)sap;
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sap;
+ nfs_clear_rpc_createerr();
+
switch (sap->sa_family) {
case AF_LOCAL:
return nfs_get_localclient(sap, salen, program,