nfs: per-name sillyunlink exclusion
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Apr 2016 03:56:31 +0000 (23:56 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 9 May 2016 15:39:45 +0000 (11:39 -0400)
commit884be175351e73c515303118150f195dd611787c
treeba85a80a6422df631b18af344132c6fcb67f1594
parent9ac3d3e8460e3fa6f3a9a39c2049904005016db6
nfs: per-name sillyunlink exclusion

use d_alloc_parallel() for sillyunlink/lookup exclusion and
explicit rwsem (nfs_rmdir() being a writer and nfs_call_unlink() -
a reader) for rmdir/sillyunlink one.

That ought to make lookup/readdir/!O_CREAT atomic_open really
parallel on NFS.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/nfs/dir.c
fs/nfs/inode.c
fs/nfs/nfs4proc.c
fs/nfs/nfstrace.h
fs/nfs/unlink.c
include/linux/nfs_fs.h
include/linux/nfs_xdr.h