]> git.baikalelectronics.ru Git - kernel.git/commit
kill d_instantiate_no_diralias()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 28 May 2018 22:27:19 +0000 (18:27 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 2 Aug 2018 03:18:53 +0000 (23:18 -0400)
commit859bdcad37f688ecd1282b609c173b0c758d7967
tree7b5a8c5ec29f2e08fe09b8e7332f2288e247f495
parentd379067850c0ba5bfd910aaebd9a4735ce3a1d47
kill d_instantiate_no_diralias()

The only user is fuse_create_new_entry(), and there it's used to
mitigate the same mkdir/open-by-handle race as in nfs_mkdir().
The same solution applies - unhash the mkdir argument, then
call d_splice_alias() and if that returns a reference to preexisting
alias, dput() and report success.  ->mkdir() argument left unhashed
negative with the preexisting alias moved in the right place is just
fine from the ->mkdir() callers point of view.

Cc: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/dcache.c
fs/fuse/dir.c
include/linux/dcache.h