From 54a6e565d7bcf42cbcf7b7b6d9a69d5c1a3b9405 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 24 May 2011 13:06:04 -0700 Subject: [PATCH] --- yaml --- r: 251684 b: refs/heads/master c: 48293699a09324d2e3c66bd53d10eed6d67937a0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/namei.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 13f92d155249..2492d81a293b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ea13a86463fd0c26c2c209c53dc46b8eff81bad4 +refs/heads/master: 48293699a09324d2e3c66bd53d10eed6d67937a0 diff --git a/trunk/fs/namei.c b/trunk/fs/namei.c index 9f594312d486..af5119911704 100644 --- a/trunk/fs/namei.c +++ b/trunk/fs/namei.c @@ -2564,24 +2564,24 @@ int vfs_rmdir(struct inode *dir, struct dentry *dentry) return -EPERM; mutex_lock(&dentry->d_inode->i_mutex); - dentry_unhash(dentry); if (d_mountpoint(dentry)) error = -EBUSY; else { error = security_inode_rmdir(dir, dentry); if (!error) { + dentry_unhash(dentry); error = dir->i_op->rmdir(dir, dentry); if (!error) { dentry->d_inode->i_flags |= S_DEAD; dont_mount(dentry); } + dput(dentry); } } mutex_unlock(&dentry->d_inode->i_mutex); if (!error) { d_delete(dentry); } - dput(dentry); return error; }