[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.1105242042280.9452@cobra.newdream.net>
Date: Tue, 24 May 2011 20:44:49 -0700 (PDT)
From: Sage Weil <sage@...dream.net>
To: Yongqiang Yang <xiaoqiangnk@...il.com>
cc: viro@...iv.linux.org.uk, linux-fsdevel@...r.kernel.org, hch@....de,
Jan Kara <jack@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>,
Andreas Dilger <adilger.kernel@...ger.ca>,
linux-ext4@...r.kernel.org
Subject: Re: [PATCH 14/19] ext3: remove unnecessary dentry_unhash on
rmdir/rename_dir
On Wed, 25 May 2011, Yongqiang Yang wrote:
> Hi,
>
> Which kernel version is this patch based on?
> Code in my working tree which is 2.6.39-rc3 is already same as the
> code after the patch applied.
An earlier patch in the series pushes the dentry_unhash call in fs/namei.c
down into each file system (on change in behavior). This patch then
removes the call because it shouldn't be necessary for extN, or any other
file system that doesn't have problems with racing processes getting
references to the just-removed directory inode.
sage
>
> Thx!
>
> Yongqiang.
> On Wed, May 25, 2011 at 4:06 AM, Sage Weil <sage@...dream.net> wrote:
> > ext3 has no problems with lingering references to unlinked directory
> > inodes.
> >
> > CC: Jan Kara <jack@...e.cz>
> > CC: Andrew Morton <akpm@...ux-foundation.org>
> > CC: Andreas Dilger <adilger.kernel@...ger.ca>
> > CC: linux-ext4@...r.kernel.org
> > Signed-off-by: Sage Weil <sage@...dream.net>
> > ---
> > 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
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@...r.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
>
>
>
> --
> Best Wishes
> Yongqiang Yang
>
>
Powered by blists - more mailing lists