From: Trond Myklebust Date: Mon, 26 Oct 2009 12:09:46 +0000 (-0400) Subject: NFSv4: The link() operation should return any delegation on the file X-Git-Tag: v2.6.27.39~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e3a7dfadd027458955f0783ba19d99c096b1b572;p=thirdparty%2Fkernel%2Fstable.git NFSv4: The link() operation should return any delegation on the file commit 9a3936aac133037f65124fcb2d676a6c201a90a4 upstream. Otherwise, we have to wait for the server to recall it. Signed-off-by: Trond Myklebust Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 23f9a83c3c9c7..e195f67e40183 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -1526,6 +1526,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) {