c870ae8
Bugzilla: N/A
c870ae8
Upstream-status: queued in NFS git tree (for 3.13/3.14?)
6142d53
6142d53
Currently, the client will attempt to use krb5i in the SETCLIENTID call
6142d53
even if rpc.gssd isn't running. When that fails, it'll then fall back to
6142d53
RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't
6142d53
running, and causes warning messages to pop up in the ring buffer.
6142d53
6142d53
Check to see if rpc.gssd is running before even attempting to use krb5i
6142d53
auth, and just silently skip trying to do so if it isn't. In the event
6142d53
that the admin is actually trying to mount with krb5*, it will still
6142d53
fail at a later stage of the mount attempt.
6142d53
6142d53
Signed-off-by: Jeff Layton <jlayton@redhat.com>
6142d53
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
6142d53
---
6142d53
 fs/nfs/nfs4client.c |    7 ++++++-
6142d53
 1 files changed, 6 insertions(+), 1 deletions(-)
6142d53
6142d53
diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c
6142d53
--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig	2013-09-02 16:46:10.000000000 -0400
6142d53
+++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c	2013-11-21 10:20:27.288286000 -0500
6142d53
@@ -10,6 +10,7 @@
6142d53
 #include <linux/sunrpc/auth.h>
6142d53
 #include <linux/sunrpc/xprt.h>
6142d53
 #include <linux/sunrpc/bc_xprt.h>
6142d53
+#include <linux/sunrpc/rpc_pipe_fs.h>
6142d53
 #include "internal.h"
6142d53
 #include "callback.h"
6142d53
 #include "delegation.h"
6142d53
@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru
6142d53
 	if (clp->cl_minorversion != 0)
6142d53
 		__set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags);
6142d53
 	__set_bit(NFS_CS_DISCRTRY, &clp->cl_flags);
6142d53
-	error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I);
6142d53
+
6142d53
+	error = -EINVAL;
6142d53
+	if (gssd_running(clp->cl_net))
6142d53
+		error = nfs_create_rpc_client(clp, timeparms,
6142d53
+					      RPC_AUTH_GSS_KRB5I);
6142d53
 	if (error == -EINVAL)
6142d53
 		error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX);
6142d53
 	if (error < 0)
6142d53
6142d53
_______________________________________________
6142d53
kernel mailing list
6142d53
kernel@lists.fedoraproject.org
c870ae8
https://admin.fedoraproject.org/mailman/listinfo/kernel