aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
authorBryan Schumaker <bjschuma@netapp.com>2011-04-07 16:02:20 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-04-07 16:19:40 -0400
commit37adb89fadd65ce47f7e5cfd564938a76b351948 (patch)
treeb935bde3f61965a8e0810f9d12281b97b2376351 /fs/nfs/nfs4proc.c
parent418875900e3de4831c84f86ae4756690dac5be77 (diff)
NFS: Change initial mount authflavor only when server returns NFS4ERR_WRONGSEC
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>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index dfd1e6d7e6c3..9bf41eab3e46 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2204,8 +2204,6 @@ static int nfs4_lookup_root_sec(struct nfs_server *server, struct nfs_fh *fhandl
2204 goto out; 2204 goto out;
2205 } 2205 }
2206 ret = nfs4_lookup_root(server, fhandle, info); 2206 ret = nfs4_lookup_root(server, fhandle, info);
2207 if (ret < 0)
2208 ret = -EAGAIN;
2209out: 2207out:
2210 return ret; 2208 return ret;
2211} 2209}
@@ -2226,7 +2224,7 @@ static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle,
2226 2224
2227 for (i = 0; i < len; i++) { 2225 for (i = 0; i < len; i++) {
2228 status = nfs4_lookup_root_sec(server, fhandle, info, flav_array[i]); 2226 status = nfs4_lookup_root_sec(server, fhandle, info, flav_array[i]);
2229 if (status == 0) 2227 if (status != -EPERM)
2230 break; 2228 break;
2231 } 2229 }
2232 if (status == 0) 2230 if (status == 0)