]> git.baikalelectronics.ru Git - kernel.git/commit
nfsd: Make creates return EEXIST instead of EACCES
authorOleg Drokin <green@linuxhacker.ru>
Fri, 15 Jul 2016 03:20:22 +0000 (23:20 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 4 Aug 2016 21:11:46 +0000 (17:11 -0400)
commit445b17062eef67c2b2cceb437708ba4ddb7b9d4b
tree32d4f2332f9305226f81d60f262842f5b9250b35
parent326f7cd4a671bb6c2db9c539ef09ad49ebf71d9a
nfsd: Make creates return EEXIST instead of EACCES

When doing a create (mkdir/mknod) on a name, it's worth
checking the name exists first before returning EACCES in case
the directory is not writeable by the user.
This makes return values on the client more consistent
regardless of whenever the entry there is cached in the local
cache or not.
Another positive side effect is certain programs only expect
EEXIST in that case even despite POSIX allowing any valid
error to be returned.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4proc.c
fs/nfsd/vfs.c