diff options
author | Sage Weil <sage@newdream.net> | 2011-05-24 16:06:05 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-05-26 07:26:46 -0400 |
commit | 64252c75a2196a0cf1e0d3777143ecfe0e3ae650 (patch) | |
tree | 8534f12a507ef5aee91e302f3e54cf8a4440fc82 /fs/hpfs | |
parent | 48293699a09324d2e3c66bd53d10eed6d67937a0 (diff) |
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.c | 3 |
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: | |||
414 | mutex_unlock(&hpfs_i(inode)->i_parent_mutex); | 414 | mutex_unlock(&hpfs_i(inode)->i_parent_mutex); |
415 | dentry_unhash(dentry); | 415 | dentry_unhash(dentry); |
416 | if (!d_unhashed(dentry)) { | 416 | if (!d_unhashed(dentry)) { |
417 | dput(dentry); | ||
418 | hpfs_unlock(dir->i_sb); | 417 | hpfs_unlock(dir->i_sb); |
419 | return -ENOSPC; | 418 | return -ENOSPC; |
420 | } | 419 | } |
@@ -422,7 +421,6 @@ again: | |||
422 | !S_ISREG(inode->i_mode) || | 421 | !S_ISREG(inode->i_mode) || |
423 | get_write_access(inode)) { | 422 | get_write_access(inode)) { |
424 | d_rehash(dentry); | 423 | d_rehash(dentry); |
425 | dput(dentry); | ||
426 | } else { | 424 | } else { |
427 | struct iattr newattrs; | 425 | struct iattr newattrs; |
428 | /*printk("HPFS: truncating file before delete.\n");*/ | 426 | /*printk("HPFS: truncating file before delete.\n");*/ |
@@ -430,7 +428,6 @@ again: | |||
430 | newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; | 428 | newattrs.ia_valid = ATTR_SIZE | ATTR_CTIME; |
431 | err = notify_change(dentry, &newattrs); | 429 | err = notify_change(dentry, &newattrs); |
432 | put_write_access(inode); | 430 | put_write_access(inode); |
433 | dput(dentry); | ||
434 | if (!err) | 431 | if (!err) |
435 | goto again; | 432 | goto again; |
436 | } | 433 | } |