NFSv4: Fix the fallback to AUTH_NULL if krb5i is not available
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 4 Apr 2013 20:14:11 +0000 (16:14 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 4 Apr 2013 21:01:25 +0000 (17:01 -0400)
If the rpcsec_gss_krb5 module cannot be loaded, the attempt to create
an rpc_client in nfs4_init_client will currently fail with an EINVAL.
Fix is to retry with AUTH_NULL.

Regression introduced by the commit "NFS: Use "krb5i" to establish NFSv4
state whenever possible"

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Bryan Schumaker <bjschuma@netapp.com>
fs/nfs/nfs4client.c

index bb9789ef1d4987fc5db66e59de92e4a0a8961c53..a4f2100fd9c289f8f5f069674bb6e7edc75640b7 100644 (file)
@@ -200,6 +200,8 @@ struct nfs_client *nfs4_init_client(struct nfs_client *clp,
 
        __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags);
        error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I);
+       if (error == -EINVAL)
+               error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_NULL);
        if (error < 0)
                goto error;