vfs: push dentry_unhash on rmdir into file systems

Only a few file systems need this.  Start by pushing it down into each
fs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs
basis.

This does not change behavior for any in-tree file systems.

Acked-by: Christoph Hellwig <[email protected]>
Signed-off-by: Sage Weil <[email protected]>
Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
Sage Weil 2011-05-24 13:06:06 -07:00 • committed by Al Viro
commit 79bf7c732b
37 changed files with 78 additions and 3 deletions

View file

@ -326,6 +326,8 @@ static int msdos_rmdir(struct inode *dir, struct dentry *dentry)
struct fat_slot_info sinfo;
int err;
dentry_unhash(dentry);
lock_super(sb);
/*
* Check whether the directory is not in use, then check

View file

@ -824,6 +824,8 @@ static int vfat_rmdir(struct inode *dir, struct dentry *dentry)
struct fat_slot_info sinfo;
int err;
dentry_unhash(dentry);
lock_super(sb);
err = fat_dir_empty(inode);