nfs4.1: properly handle ENOTSUP in SECINFO_NO_NAME
commit 78b19bae0813bd6f921ca58490196abd101297bd upstream. Don't check for -NFS4ERR_NOTSUPP, it's already been mapped to -ENOTSUPP by nfs4_stat_to_errno. This allows the client to mount v4.1 servers that don't support SECINFO_NO_NAME by falling back to the "guess and check" method of nfs4_find_root_sec. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3c16dfe205
commit
b5f0608e9f
|
@ -6394,7 +6394,7 @@ nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle,
|
||||||
switch (err) {
|
switch (err) {
|
||||||
case 0:
|
case 0:
|
||||||
case -NFS4ERR_WRONGSEC:
|
case -NFS4ERR_WRONGSEC:
|
||||||
case -NFS4ERR_NOTSUPP:
|
case -ENOTSUPP:
|
||||||
goto out;
|
goto out;
|
||||||
default:
|
default:
|
||||||
err = nfs4_handle_exception(server, err, &exception);
|
err = nfs4_handle_exception(server, err, &exception);
|
||||||
|
@ -6426,7 +6426,7 @@ nfs41_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle,
|
||||||
* Fall back on "guess and check" method if
|
* Fall back on "guess and check" method if
|
||||||
* the server doesn't support SECINFO_NO_NAME
|
* the server doesn't support SECINFO_NO_NAME
|
||||||
*/
|
*/
|
||||||
if (err == -NFS4ERR_WRONGSEC || err == -NFS4ERR_NOTSUPP) {
|
if (err == -NFS4ERR_WRONGSEC || err == -ENOTSUPP) {
|
||||||
err = nfs4_find_root_sec(server, fhandle, info);
|
err = nfs4_find_root_sec(server, fhandle, info);
|
||||||
goto out_freepage;
|
goto out_freepage;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue