SUNRPC: RPC client should retry with different versions of rpcbind

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Chuck Lever 2007-03-29 16:48:33 -04:00 committed by Trond Myklebust
parent 4c2eaf073f
commit 00a6e7bbf9
2 changed files with 16 additions and 2 deletions

View File

@ -1734,6 +1734,18 @@ config SUNRPC
config SUNRPC_GSS
tristate
config SUNRPC_BIND34
bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)"
depends on SUNRPC && EXPERIMENTAL
help
Provides kernel support for querying rpcbind servers via versions 3
and 4 of the rpcbind protocol. The kernel automatically falls back
to version 2 if a remote rpcbind service does not support versions
3 or 4.
If unsure, say N to get traditional behavior (version 2 rpcbind
requests only).
config RPCSEC_GSS_KRB5
tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"
depends on SUNRPC && EXPERIMENTAL

View File

@ -902,9 +902,11 @@ call_bind_status(struct rpc_task *task)
task->tk_pid);
break;
case -EPROTONOSUPPORT:
dprintk("RPC: %5u remote rpcbind version 2 unavailable\n",
dprintk("RPC: %5u remote rpcbind version unavailable, retrying\n",
task->tk_pid);
break;
task->tk_status = 0;
task->tk_action = call_bind;
return;
default:
dprintk("RPC: %5u unrecognized rpcbind error (%d)\n",
task->tk_pid, -task->tk_status);