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:
parent
4c2eaf073f
commit
00a6e7bbf9
2 changed files with 16 additions and 2 deletions
12
fs/Kconfig
12
fs/Kconfig
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue