NFSv4: The link() operation should return any delegation on the file
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 26 Oct 2009 12:09:46 +0000 (08:09 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Mon, 26 Oct 2009 12:09:46 +0000 (08:09 -0400)
Otherwise, we have to wait for the server to recall it.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/dir.c

index 32062c3..7cb2985 100644 (file)
@@ -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) {