]>
Commit | Line | Data |
---|---|---|
62dc7a5a JB |
1 | --- linux-2.4.33/fs/namei.c.orig 2006-08-16 13:23:40.315971000 +0200 |
2 | +++ linux-2.4.33/fs/namei.c 2006-08-16 13:44:39.595971000 +0200 | |
3 | @@ -1505,7 +1505,8 @@ | |
4 | double_up(&dir->i_zombie, &inode->i_zombie); | |
5 | iput(inode); | |
6 | ||
7 | - if (!error) { | |
8 | + /* We don't d_delete() NFS sillyrenamed files--they still exist. */ | |
9 | + if (!error && !(dentry->d_flags & DCACHE_NFSFS_RENAMED)) { | |
10 | d_delete(dentry); | |
753eff87 | 11 | inode_dir_notify(dir, DN_DELETE); |
62dc7a5a JB |
12 | } |
13 | @@ -1851,6 +1852,11 @@ | |
753eff87 JR |
14 | struct inode *new_dir, struct dentry *new_dentry) |
15 | { | |
16 | int error; | |
17 | + | |
18 | + if (old_dentry->d_flags & DCACHE_NFSFS_RENAMED || | |
19 | + new_dentry->d_flags & DCACHE_NFSFS_RENAMED) | |
20 | + return -EBUSY; | |
21 | + | |
22 | if (S_ISDIR(old_dentry->d_inode->i_mode)) | |
23 | error = vfs_rename_dir(old_dir,old_dentry,new_dir,new_dentry); | |
24 | else |