NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC
authorBryan Schumaker <bjschuma@netapp.com>
Thu, 7 Apr 2011 20:02:20 +0000 (16:02 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 7 Apr 2011 20:19:40 +0000 (13:19 -0700)
When attempting an initial mount, we should only attempt other
authflavors if AUTH_UNIX receives a NFS4ERR_WRONGSEC error.
This allows other errors to be passed back to userspace programs.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c

index dfd1e6d7e6c3c645886424f2858d27874233566f..9bf41eab3e4646eb1256c1192c4482fc89c4c61d 100644 (file)
@@ -2204,8 +2204,6 @@ static int nfs4_lookup_root_sec(struct nfs_server *server, struct nfs_fh *fhandl
                goto out;
        }
        ret = nfs4_lookup_root(server, fhandle, info);
-       if (ret < 0)
-               ret = -EAGAIN;
 out:
        return ret;
 }
@@ -2226,7 +2224,7 @@ static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle,
 
        for (i = 0; i < len; i++) {
                status = nfs4_lookup_root_sec(server, fhandle, info, flav_array[i]);
-               if (status == 0)
+               if (status != -EPERM)
                        break;
        }
        if (status == 0)