]>
Commit | Line | Data |
---|---|---|
753eff87 JR |
1 | --- linux-2.4.21-rc7/fs/namei.c Sun Jun 8 23:57:33 2003 |
2 | +++ linux-2.4.21-rc7-silly/fs/namei.c Tue Jun 10 23:49:08 2003 | |
3 | @@ -1482,13 +1482,14 @@ int vfs_unlink(struct inode *dir, struct | |
4 | lock_kernel(); | |
5 | error = dir->i_op->unlink(dir, dentry); | |
6 | unlock_kernel(); | |
7 | - if (!error) | |
8 | + if (!error && | |
9 | + !(dentry->d_flags & DCACHE_NFSFS_RENAMED)) | |
10 | d_delete(dentry); | |
11 | } | |
12 | } | |
13 | } | |
14 | up(&dir->i_zombie); | |
15 | - if (!error) | |
16 | + if (!error && !(dentry->d_flags & DCACHE_NFSFS_RENAMED)) | |
17 | inode_dir_notify(dir, DN_DELETE); | |
18 | return error; | |
19 | } | |
20 | @@ -1830,6 +1831,11 @@ int vfs_rename(struct inode *old_dir, st | |
21 | struct inode *new_dir, struct dentry *new_dentry) | |
22 | { | |
23 | int error; | |
24 | + | |
25 | + if (old_dentry->d_flags & DCACHE_NFSFS_RENAMED || | |
26 | + new_dentry->d_flags & DCACHE_NFSFS_RENAMED) | |
27 | + return -EBUSY; | |
28 | + | |
29 | if (S_ISDIR(old_dentry->d_inode->i_mode)) | |
30 | error = vfs_rename_dir(old_dir,old_dentry,new_dir,new_dentry); | |
31 | else |