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>
This commit is contained in:
@@ -3777,7 +3777,7 @@ static void nfs4_proc_unlink_setup(struct rpc_message *msg, struct inode *dir)
|
||||
|
||||
static void nfs4_proc_unlink_rpc_prepare(struct rpc_task *task, struct nfs_unlinkdata *data)
|
||||
{
|
||||
nfs4_setup_sequence(NFS_SERVER(data->dir),
|
||||
nfs4_setup_sequence(NFS_SB(data->dentry->d_sb),
|
||||
&data->args.seq_args,
|
||||
&data->res.seq_res,
|
||||
task);
|
||||
|
Reference in New Issue
Block a user