summary refs log tree commit diff
path: root/fs/hpfs
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-05-24 13:06:05 -0700
committerAl Viro <viro@zeniv.linux.org.uk>2011-05-26 07:26:46 -0400
commit64252c75a2196a0cf1e0d3777143ecfe0e3ae650 (patch)
tree8534f12a507ef5aee91e302f3e54cf8a4440fc82 /fs/hpfs
parent48293699a09324d2e3c66bd53d10eed6d67937a0 (diff)
downloadlinux-64252c75a2196a0cf1e0d3777143ecfe0e3ae650.tar.gz
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;
 		}