diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-28 19:36:28 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-09 19:36:09 +0400 |
commit | 27b0a5338ea769a35f1c8346cd07a3c938c919e7 (patch) | |
tree | cf256d2fecb028dd7db205d9e2604c882a5882c0 /fs | |
parent | c780682d113ef97164359897f4463585b4c27524 (diff) | |
download | linux-27b0a5338ea769a35f1c8346cd07a3c938c919e7.tar.xz |
NFSv4: Map NFS4ERR_SHARE_DENIED into an EACCES error instead of EIO
commit fb13bfa7e1bcfdcfdece47c24b62f1a1cad957e9 upstream.
If a file OPEN is denied due to a share lock, the resulting
NFS4ERR_SHARE_DENIED is currently mapped to the default EIO.
This patch adds a more appropriate mapping, and brings Linux
into line with what Solaris 10 does.
See https://bugzilla.kernel.org/show_bug.cgi?id=43286
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs4proc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 99650aaf8937..e9b1eb701a01 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -101,6 +101,8 @@ static int nfs4_map_errors(int err) case -NFS4ERR_BADOWNER: case -NFS4ERR_BADNAME: return -EINVAL; + case -NFS4ERR_SHARE_DENIED: + return -EACCES; default: dprintk("%s could not handle NFSv4 error %d\n", __func__, -err); |