aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fat
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-05-27 16:42:18 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-05-28 01:02:54 -0400
commitf4ff0e25c5093dd89e9cac4a8f71a57587ada787 (patch)
tree2c8414420a23d47152a03f283e97d5b3533401b6 /fs/fat
parent45adfef7d023004ff95bf63b5f2f0e2d88afac3f (diff)
fat: remove unnecessary dentry_unhash on rmdir, dir rename
fat does not have problems with references to unlinked directories. CC: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Sage Weil <sage@newdream.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fat')
-rw-r--r--fs/fat/namei_msdos.c5
-rw-r--r--fs/fat/namei_vfat.c5
2 files changed, 0 insertions, 10 deletions
diff --git a/fs/fat/namei_msdos.c b/fs/fat/namei_msdos.c
index be15437c272e..3b222dafd15b 100644
--- a/fs/fat/namei_msdos.c
+++ b/fs/fat/namei_msdos.c
@@ -326,8 +326,6 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry)
326 struct fat_slot_info sinfo; 326 struct fat_slot_info sinfo;
327 int err; 327 int err;
328 328
329 dentry_unhash(dentry);
330
331 lock_super(sb); 329 lock_super(sb);
332 /* 330 /*
333 * Check whether the directory is not in use, then check 331 * Check whether the directory is not in use, then check
@@ -459,9 +457,6 @@ static int do_msdos_rename(struct inode *old_dir, unsigned char *old_name,
459 old_inode = old_dentry->d_inode; 457 old_inode = old_dentry->d_inode;
460 new_inode = new_dentry->d_inode; 458 new_inode = new_dentry->d_inode;
461 459
462 if (new_inode && S_ISDIR(new_inode->i_mode))
463 dentry_unhash(new_dentry);
464
465 err = fat_scan(old_dir, old_name, &old_sinfo); 460 err = fat_scan(old_dir, old_name, &old_sinfo);
466 if (err) { 461 if (err) {
467 err = -EIO; 462 err = -EIO;
diff --git a/fs/fat/namei_vfat.c b/fs/fat/namei_vfat.c
index c61a6789f36c..20b4ea53fdc4 100644
--- a/fs/fat/namei_vfat.c
+++ b/fs/fat/namei_vfat.c
@@ -824,8 +824,6 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry)
824 struct fat_slot_info sinfo; 824 struct fat_slot_info sinfo;
825 int err; 825 int err;
826 826
827 dentry_unhash(dentry);
828
829 lock_super(sb); 827 lock_super(sb);
830 828
831 err = fat_dir_empty(inode); 829 err = fat_dir_empty(inode);
@@ -933,9 +931,6 @@ static int vfat_rename(struct inode *old_dir, struct dentry *old_dentry,
933 int err, is_dir, update_dotdot, corrupt = 0; 931 int err, is_dir, update_dotdot, corrupt = 0;
934 struct super_block *sb = old_dir->i_sb; 932 struct super_block *sb = old_dir->i_sb;
935 933
936 if (new_dentry->d_inode && S_ISDIR(new_dentry->d_inode->i_mode))
937 dentry_unhash(new_dentry);
938
939 old_sinfo.bh = sinfo.bh = dotdot_bh = NULL; 934 old_sinfo.bh = sinfo.bh = dotdot_bh = NULL;
940 old_inode = old_dentry->d_inode; 935 old_inode = old_dentry->d_inode;
941 new_inode = new_dentry->d_inode; 936 new_inode = new_dentry->d_inode;