diff --git a/[refs] b/[refs] index b89624154425..71331dca3ca2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27226104e60964f21717e0f452cecd45c85a64c6 +refs/heads/master: 24e93025ee434a58d35e5abb283c5bcc9a13e477 diff --git a/trunk/fs/nfs/dir.c b/trunk/fs/nfs/dir.c index 76b7f539d76e..2c5ace4f00a7 100644 --- a/trunk/fs/nfs/dir.c +++ b/trunk/fs/nfs/dir.c @@ -1611,14 +1611,11 @@ static int nfs_rename(struct inode *old_dir, struct dentry *old_dentry, /* silly-rename the existing target ... */ err = nfs_sillyrename(new_dir, new_dentry); - if (!err) { - new_dentry = rehash = dentry; - new_inode = NULL; - /* instantiate the replacement target */ - d_instantiate(new_dentry, NULL); - } else if (atomic_read(&new_dentry->d_count) > 1) - /* dentry still busy? */ + if (err) goto out; + + new_dentry = dentry; + new_inode = NULL; } }