]> git.pld-linux.org Git - packages/kernel.git/blame - linux-2.4.21-nfs-silly-rename.patch
- one more change needed for 2.4.33
[packages/kernel.git] / linux-2.4.21-nfs-silly-rename.patch
CommitLineData
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
This page took 1.587258 seconds and 4 git commands to generate.