]> 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)
commitfcb52aba3c88861b2b24c0781b37fca5ef31f452
tree32d4f2332f9305226f81d60f262842f5b9250b35
parent9774fa63d14bf8639a1a5134913d706849a8efa4
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