patch-2.0.35 linux/fs/nfs/dir.c

Next file: linux/fs/nfs/nfsroot.c
Previous file: linux/fs/fcntl.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.34/linux/fs/nfs/dir.c linux/fs/nfs/dir.c
@@ -553,11 +553,13 @@
 	int		error, slen;
 
 	slen = sprintf(silly, ".nfs%ld", inode->i_ino);
-	if ((error = nfs_unlink(dir, silly, slen)) < 0) {
+	error = nfs_proc_remove(NFS_SERVER(dir), NFS_FH(dir), silly);
+	nfs_lookup_cache_remove(dir, NULL, silly);
+	if (error < 0)
 		printk("NFS silly_rename cleanup failed (err = %d)\n",
 					-error);
-	}
 	NFS_RENAMED_DIR(inode) = NULL;
+	iput(dir);
 }
 
 static int nfs_unlink(struct inode *dir, const char *name, int len)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov