summaryrefslogtreecommitdiffstats
path: root/fs/affs/namei.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-13 20:55:15 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-13 20:55:15 +0000
commit1471f525455788c20b130690e0f104df451aeb43 (patch)
tree3778beba56558beb9a9548ea5b467e9c44ea966f /fs/affs/namei.c
parente80d2c5456d30ebba5b0eb8a9d33e17d815d4d83 (diff)
Merge with Linux 2.3.51.
Diffstat (limited to 'fs/affs/namei.c')
-rw-r--r--fs/affs/namei.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/affs/namei.c b/fs/affs/namei.c
index 38e5bccbe..c1a849a70 100644
--- a/fs/affs/namei.c
+++ b/fs/affs/namei.c
@@ -368,7 +368,7 @@ affs_rmdir(struct inode *dir, struct dentry *dentry)
if (!empty_dir(bh,AFFS_I2HSIZE(inode)))
goto rmdir_done;
retval = -EBUSY;
- if (!list_empty(&dentry->d_hash))
+ if (!d_unhashed(dentry))
goto rmdir_done;
if ((retval = affs_remove_header(bh,inode)) < 0)
@@ -557,6 +557,9 @@ affs_rename(struct inode *old_dir, struct dentry *old_dentry,
}
if (S_ISDIR(old_inode->i_mode)) {
if (new_inode) {
+ retval = -EBUSY;
+ if (!d_unhashed(new_dentry))
+ goto end_rename;
retval = -ENOTEMPTY;
if (!empty_dir(new_bh,AFFS_I2HSIZE(new_inode)))
goto end_rename;