On Tue 24-05-11 13:06:17, Sage Weil wrote: > ext3 has no problems with lingering references to unlinked directory > inodes. OK, so if I understand right, dentry_unhash() has been there only so that filesystem can detect whether (something under) removed directory is in use? So filesystems which can happily handle unlinked but open directories don't need it, right? If that's the case, you can add: Acked-by: Jan Kara <jack@xxxxxxx> to this patch and also the ext2 version. Honza > > CC: Jan Kara <jack@xxxxxxx> > CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > CC: Andreas Dilger <adilger.kernel@xxxxxxxxx> > CC: linux-ext4@xxxxxxxxxxxxxxx > Signed-off-by: Sage Weil <sage@xxxxxxxxxxxx> > --- > fs/ext3/namei.c | 5 ----- > 1 files changed, 0 insertions(+), 5 deletions(-) > > diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c > index f89b1d4..32f3b86 100644 > --- a/fs/ext3/namei.c > +++ b/fs/ext3/namei.c > @@ -2074,8 +2074,6 @@ static int ext3_rmdir (struct inode * dir, struct dentry *dentry) > struct ext3_dir_entry_2 * de; > handle_t *handle; > > - dentry_unhash(dentry); > - > /* Initialize quotas before so that eventual writes go in > * separate transaction */ > dquot_initialize(dir); > @@ -2298,9 +2296,6 @@ static int ext3_rename (struct inode * old_dir, struct dentry *old_dentry, > struct ext3_dir_entry_2 * old_de, * new_de; > int retval, flush_file = 0; > > - 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); > > -- > 1.7.0 > -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html