Skip to content

Commit

Permalink
SUNRPC: RPC client should retry with different versions of rpcbind
Browse files Browse the repository at this point in the history
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
  • Loading branch information
chucklever authored and Trond Myklebust committed May 1, 2007
1 parent 4c2eaf0 commit 00a6e7b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
12 changes: 12 additions & 0 deletions fs/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 4 additions & 2 deletions net/sunrpc/clnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 00a6e7b

Please sign in to comment.