Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c86c90c6 authored by Dominique Martinet's avatar Dominique Martinet Committed by Trond Myklebust
Browse files

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: default avatarOlga Kornievskaia <kolga@netapp.com>
Signed-off-by: default avatarFrank S. Filz <ffilzlnx@mindspring.com>
Signed-off-by: default avatarDominique Martinet <dominique.martinet@cea.fr>
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent d67fa4d8
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -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;