Commit fb13bfa7 authored by Trond Myklebust's avatar Trond Myklebust

NFSv4: Map NFS4ERR_SHARE_DENIED into an EACCES error instead of EIO

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=43286Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
parent 359d7d1c
...@@ -103,6 +103,8 @@ static int nfs4_map_errors(int err) ...@@ -103,6 +103,8 @@ static int nfs4_map_errors(int err)
case -NFS4ERR_BADOWNER: case -NFS4ERR_BADOWNER:
case -NFS4ERR_BADNAME: case -NFS4ERR_BADNAME:
return -EINVAL; return -EINVAL;
case -NFS4ERR_SHARE_DENIED:
return -EACCES;
default: default:
dprintk("%s could not handle NFSv4 error %d\n", dprintk("%s could not handle NFSv4 error %d\n",
__func__, -err); __func__, -err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment