ext2: remove unnecessary dentry_unhash on rmdir/rename_dir
Sage Weil [Tue, 24 May 2011 20:06:18 +0000 (13:06 -0700)]
ext2 has no problems with lingering references to unlinked directory
inodes.

CC: Jan Kara <jack@suse.cz>
CC: linux-ext4@vger.kernel.org
Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

fs/ext2/namei.c

index 516c31d..ed5c5d4 100644 (file)
@@ -296,8 +296,6 @@ static int ext2_rmdir (struct inode * dir, struct dentry *dentry)
        struct inode * inode = dentry->d_inode;
        int err = -ENOTEMPTY;
 
-       dentry_unhash(dentry);
-
        if (ext2_empty_dir(inode)) {
                err = ext2_unlink(dir, dentry);
                if (!err) {
@@ -320,9 +318,6 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry,
        struct ext2_dir_entry_2 * old_de;
        int err = -ENOENT;
 
-       if (new_dentry->d_inode && S_ISDIR(new_dentry->d_inode->i_mode))
-               dentry_unhash(new_dentry);
-
        dquot_initialize(old_dir);
        dquot_initialize(new_dir);