rpcbind returns RPC_PROGNOTREGISTERED if it knows for certain that an RPC program is not supported for a given transport. This is a permanent and authoritative error, so the library's rpcbind query API should never retry the query -- it will only get the same answer. A similar change was submitted for libtirpc. Unlike rpcb_getaddr(3t), mount.nfs's rpcbind client only retries once (with RPCB3PROC_GETADDR), but an extra TCP socket in this case would leave another port in TIME_WAIT. It's infrequent enough, but might as well get rid of it. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> --- support/nfs/getport.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/support/nfs/getport.c b/support/nfs/getport.c index bc0f121..71f02f3 100644 --- a/support/nfs/getport.c +++ b/support/nfs/getport.c @@ -469,7 +469,7 @@ static unsigned short nfs_gp_rpcb_getaddr(CLIENT *client, case RPC_SUCCESS: if ((uaddr == NULL) || (uaddr[0] == '\0')) { rpc_createerr.cf_stat = RPC_PROGNOTREGISTERED; - continue; + return 0; } port = nfs_universal2port(uaddr); -- 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