提交 c86c90c6 编写于 作者: D Dominique Martinet 提交者: Trond Myklebust

NFSv4: handle nfs4_get_referral failure

nfs4_proc_lookup_common is supposed to return a posix error, we have to
handle any error returned that isn't errno
Reported-by: NOlga Kornievskaia <kolga@netapp.com>
Signed-off-by: NFrank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: NDominique Martinet <dominique.martinet@cea.fr>
Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
上级 d67fa4d8
...@@ -3355,6 +3355,8 @@ static int nfs4_proc_lookup_common(struct rpc_clnt **clnt, struct inode *dir, ...@@ -3355,6 +3355,8 @@ static int nfs4_proc_lookup_common(struct rpc_clnt **clnt, struct inode *dir,
goto out; goto out;
case -NFS4ERR_MOVED: case -NFS4ERR_MOVED:
err = nfs4_get_referral(client, dir, name, fattr, fhandle); err = nfs4_get_referral(client, dir, name, fattr, fhandle);
if (err == -NFS4ERR_MOVED)
err = nfs4_handle_exception(NFS_SERVER(dir), err, &exception);
goto out; goto out;
case -NFS4ERR_WRONGSEC: case -NFS4ERR_WRONGSEC:
err = -EPERM; err = -EPERM;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册