summaryrefslogtreecommitdiffstats
path: root/fs/hpfs
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-05-24 22:06:05 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2011-05-26 13:26:46 +0200
commit64252c75a2196a0cf1e0d3777143ecfe0e3ae650 (patch)
tree8534f12a507ef5aee91e302f3e54cf8a4440fc82 /fs/hpfs
parentvfs: dentry_unhash immediately prior to rmdir (diff)
downloadlinux-64252c75a2196a0cf1e0d3777143ecfe0e3ae650.tar.xz
linux-64252c75a2196a0cf1e0d3777143ecfe0e3ae650.zip
vfs: remove dget() from dentry_unhash()
This serves no useful purpose that I can discern. All callers (rename, rmdir) hold their own reference to the dentry. A quick audit of all file systems showed no relevant checks on the value of d_count in vfs_rmdir/vfs_rename_dir paths. Signed-off-by: Sage Weil <sage@newdream.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/hpfs')
-rw-r--r--fs/hpfs/namei.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/hpfs/namei.c b/fs/hpfs/namei.c
index d5f8c8a19023..b1c72a92c14e 100644
--- a/fs/hpfs/namei.c
+++ b/fs/hpfs/namei.c
@@ -414,7 +414,6 @@ again:
mutex_unlock(&hpfs_i(inode)->i_parent_mutex);
dentry_unhash(dentry);
if (!d_unhashed(dentry)) {
- dput(dentry);
hpfs_unlock(dir->i_sb);
return -ENOSPC;
}
@@ -422,7 +421,6 @@ again:
!S_ISREG(inode->i_mode) ||
get_write_access(inode)) {
d_rehash(dentry);
- dput(dentry);
} else {
struct iattr newattrs;
/*printk("HPFS: truncating file before delete.\n");*/
@@ -430,7 +428,6 @@ again:
newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME;
err = notify_change(dentry, &newattrs);
put_write_access(inode);
- dput(dentry);
if (!err)
goto again;
}