diff options
Diffstat (limited to 'fs/nfs')
| -rw-r--r-- | fs/nfs/nfs4proc.c | 11 | ||||
| -rw-r--r-- | fs/nfs/nfs4xdr.c | 1 | 
2 files changed, 8 insertions, 4 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ed7c269e2514..65c252798861 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -72,12 +72,17 @@ static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle,  /* Prevent leaks of NFSv4 errors into userland */  static int nfs4_map_errors(int err)  { -	if (err < -1000) { +	if (err >= -1000) +		return err; +	switch (err) { +	case -NFS4ERR_RESOURCE: +		return -EREMOTEIO; +	default:  		dprintk("%s could not handle NFSv4 error %d\n",  				__func__, -err); -		return -EIO; +		break;  	} -	return err; +	return -EIO;  }  /* diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index 83ad47cbdd8a..20b4e30e6c82 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c @@ -5681,7 +5681,6 @@ static struct {  	{ NFS4ERR_SERVERFAULT,	-ESERVERFAULT	},  	{ NFS4ERR_BADTYPE,	-EBADTYPE	},  	{ NFS4ERR_LOCKED,	-EAGAIN		}, -	{ NFS4ERR_RESOURCE,	-EREMOTEIO	},  	{ NFS4ERR_SYMLINK,	-ELOOP		},  	{ NFS4ERR_OP_ILLEGAL,	-EOPNOTSUPP	},  	{ NFS4ERR_DEADLOCK,	-EDEADLK	},  | 
