From 5e8016af94f9e9dc85947bdda127462998440f4a Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Thu, 3 Dec 2009 15:58:56 -0500 Subject: [PATCH] --- yaml --- r: 175951 b: refs/heads/master c: 24e93025ee434a58d35e5abb283c5bcc9a13e477 h: refs/heads/master i: 175949: a14c60786d0c27d647ecd2ea4179223be0fb60bd 175947: 8605d711fcdea1abf62a5ec78f5d870f8b9a0653 175943: d2aebbbe60a500827c1a865da74933fbb5eab81b 175935: 9942f681c6bd0fb864106550f26d44a2525434a2 v: v3 --- [refs] | 2 +- trunk/fs/nfs/dir.c | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) 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; } }