From 858159e2f0825e5e8831391dc7e77418ab84a85a Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 29 Mar 2007 16:48:33 -0400 Subject: [PATCH] --- yaml --- r: 53525 b: refs/heads/master c: 00a6e7bbf990e3a5e59a9a1e6a68e99c94fe001c h: refs/heads/master i: 53523: daa005a0a59c71cad7b182ae17d7eb150217b9bf v: v3 --- [refs] | 2 +- trunk/fs/Kconfig | 12 ++++++++++++ trunk/net/sunrpc/clnt.c | 6 ++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d1d53edd000a..d6e902be16fc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4c2eaf073f0cc2b5bf593b8133c078b9d9406e95 +refs/heads/master: 00a6e7bbf990e3a5e59a9a1e6a68e99c94fe001c diff --git a/trunk/fs/Kconfig b/trunk/fs/Kconfig index a42f767dcdd5..20bec7767dd8 100644 --- a/trunk/fs/Kconfig +++ b/trunk/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 diff --git a/trunk/net/sunrpc/clnt.c b/trunk/net/sunrpc/clnt.c index e7dc09ecc470..d8fbee40a19c 100644 --- a/trunk/net/sunrpc/clnt.c +++ b/trunk/net/sunrpc/clnt.c @@ -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);