Revert "SUNRPC: Ensure gss-proxy connects on setup"
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 7 May 2022 17:48:21 +0000 (13:48 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 7 May 2022 18:30:40 +0000 (14:30 -0400)
This reverts commit 892de36fd4a98fab3298d417c051d9099af5448d.

The gssproxy server is unresponsive when it calls into the kernel to
start the upcall service, so it will not reply to our RPC ping at all.

Reported-by: "J.Bruce Fields" <bfields@fieldses.org>
Fixes: 892de36fd4a9 ("SUNRPC: Ensure gss-proxy connects on setup")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
include/linux/sunrpc/clnt.h
net/sunrpc/auth_gss/gss_rpc_upcall.c
net/sunrpc/clnt.c

index db51495..267b7ae 100644 (file)
@@ -160,7 +160,6 @@ struct rpc_add_xprt_test {
 #define RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT     (1UL << 9)
 #define RPC_CLNT_CREATE_SOFTERR                (1UL << 10)
 #define RPC_CLNT_CREATE_REUSEPORT      (1UL << 11)
-#define RPC_CLNT_CREATE_IGNORE_NULL_UNAVAIL (1UL << 12)
 
 struct rpc_clnt *rpc_create(struct rpc_create_args *args);
 struct rpc_clnt        *rpc_bind_new_program(struct rpc_clnt *,
index 8ca1d80..61c276b 100644 (file)
@@ -97,7 +97,7 @@ static int gssp_rpc_create(struct net *net, struct rpc_clnt **_clnt)
                 * timeout, which would result in reconnections being
                 * done without the correct namespace:
                 */
-               .flags          = RPC_CLNT_CREATE_IGNORE_NULL_UNAVAIL |
+               .flags          = RPC_CLNT_CREATE_NOPING |
                                  RPC_CLNT_CREATE_NO_IDLE_TIMEOUT
        };
        struct rpc_clnt *clnt;
index 22c28cf..98133aa 100644 (file)
@@ -479,9 +479,6 @@ static struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args,
 
        if (!(args->flags & RPC_CLNT_CREATE_NOPING)) {
                int err = rpc_ping(clnt);
-               if ((args->flags & RPC_CLNT_CREATE_IGNORE_NULL_UNAVAIL) &&
-                   err == -EOPNOTSUPP)
-                       err = 0;
                if (err != 0) {
                        rpc_shutdown_client(clnt);
                        return ERR_PTR(err);