The following commit has been merged in the linux branch: commit 9a3936aac133037f65124fcb2d676a6c201a90a4 Author: Trond Myklebust Trond.Myklebust@netapp.com Date: Mon Oct 26 08:09:46 2009 -0400
NFSv4: The link() operation should return any delegation on the file
Otherwise, we have to wait for the server to recall it.
Signed-off-by: Trond Myklebust Trond.Myklebust@netapp.com
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 32062c3..7cb2985 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1536,6 +1536,8 @@ nfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry) old_dentry->d_parent->d_name.name, old_dentry->d_name.name, dentry->d_parent->d_name.name, dentry->d_name.name);
+ nfs_inode_return_delegation(inode); + d_drop(dentry); error = NFS_PROTO(dir)->link(inode, dir, &dentry->d_name); if (error == 0) {