patch-2.4.26 linux-2.4.26/fs/nfs/dir.c
Next file: linux-2.4.26/fs/nfs/file.c
Previous file: linux-2.4.26/fs/locks.c
Back to the patch index
Back to the overall index
-  Lines: 20
-  Date:
2004-04-14 06:05:40.000000000 -0700
-  Orig file: 
linux-2.4.25/fs/nfs/dir.c
-  Orig date: 
2002-11-28 15:53:15.000000000 -0800
diff -urN linux-2.4.25/fs/nfs/dir.c linux-2.4.26/fs/nfs/dir.c
@@ -545,6 +545,11 @@
 		/* Unhash it, so that ->d_iput() would be called */
 		return 1;
 	}
+	if (!(dentry->d_sb->s_flags & MS_ACTIVE)) {
+		/* Unhash it, so that ancestors of killed async unlink
+		 * files will be cleaned up during umount */
+		return 1;
+	}
 	return 0;
 
 }
@@ -1065,6 +1070,7 @@
 
 	nfs_zap_caches(new_dir);
 	nfs_zap_caches(old_dir);
+	NFS_CACHEINV(old_inode);
 	error = NFS_PROTO(old_dir)->rename(old_dir, &old_dentry->d_name,
 					   new_dir, &new_dentry->d_name);
 out:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)