nfs: remove unnecessary dentry_unhash on rmdir/rename_dir
NFS has no problems with lingering references to unlinked directory inodes. CC: Trond Myklebust <Trond.Myklebust@netapp.com> CC: linux-nfs@vger.kernel.org Signed-off-by: Sage Weil <sage@newdream.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
5afcb940fa
commit
052e2a1ba2
@ -1748,8 +1748,6 @@ static int nfs_rmdir(struct inode *dir, struct dentry *dentry)
|
|||||||
dfprintk(VFS, "NFS: rmdir(%s/%ld), %s\n",
|
dfprintk(VFS, "NFS: rmdir(%s/%ld), %s\n",
|
||||||
dir->i_sb->s_id, dir->i_ino, dentry->d_name.name);
|
dir->i_sb->s_id, dir->i_ino, dentry->d_name.name);
|
||||||
|
|
||||||
dentry_unhash(dentry);
|
|
||||||
|
|
||||||
error = NFS_PROTO(dir)->rmdir(dir, &dentry->d_name);
|
error = NFS_PROTO(dir)->rmdir(dir, &dentry->d_name);
|
||||||
/* Ensure the VFS deletes this inode */
|
/* Ensure the VFS deletes this inode */
|
||||||
if (error == 0 && dentry->d_inode != NULL)
|
if (error == 0 && dentry->d_inode != NULL)
|
||||||
@ -1959,9 +1957,6 @@ static int nfs_rename(struct inode *old_dir, struct dentry *old_dentry,
|
|||||||
new_dentry->d_parent->d_name.name, new_dentry->d_name.name,
|
new_dentry->d_parent->d_name.name, new_dentry->d_name.name,
|
||||||
new_dentry->d_count);
|
new_dentry->d_count);
|
||||||
|
|
||||||
if (new_inode && S_ISDIR(new_inode->i_mode))
|
|
||||||
dentry_unhash(new_dentry);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For non-directories, check whether the target is busy and if so,
|
* For non-directories, check whether the target is busy and if so,
|
||||||
* make a copy of the dentry and then do a silly-rename. If the
|
* make a copy of the dentry and then do a silly-rename. If the
|
||||||
|
Loading…
x
Reference in New Issue
Block a user