
--- linux/fs/coda/psdev.c.orig	Tue Sep  1 12:01:49 1998
+++ linux/fs/coda/psdev.c	Tue Sep  1 12:01:49 1998
@@ -33,6 +33,7 @@
 #include <linux/vmalloc.h>
 #include <linux/fs.h>
 #include <linux/poll.h>
+#include <linux/init.h>
 #include <asm/io.h>
 #include <asm/segment.h>
 #include <asm/system.h>
@@ -46,6 +47,8 @@
 #include <linux/coda_cache.h>
 #include <linux/coda_proc.h>
 
+extern struct proc_dir_entry proc_sys_root;
+
 /* 
  * Coda stuff
  */
@@ -393,15 +396,6 @@
 
 
 #ifdef CONFIG_PROC_FS
-
-struct proc_dir_entry proc_sys_root = {
-        PROC_SYS, 3, "sys",                     /* inode, name */
-        S_IFDIR | S_IRUGO | S_IXUGO, 2, 0, 0,   /* mode, nlink, uid, gid */
-        0, &proc_dir_inode_operations,          /* size, ops */
-        NULL, NULL,                             /* get_info, fill_inode */
-        NULL,                                   /* next */
-        NULL, NULL                              /* parent, subdir */
-};
 
 
 struct proc_dir_entry proc_sys_coda = {
--- linux/fs/coda/stats.c.orig	Tue Sep  1 12:01:49 1998
+++ linux/fs/coda/stats.c	Tue Sep  1 12:01:49 1998
@@ -7,7 +7,6 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/sysctl.h>
--- linux/fs/coda/upcall.c.orig	Tue Sep  1 12:01:49 1998
+++ linux/fs/coda/upcall.c	Tue Sep  1 12:01:49 1998
@@ -884,11 +884,10 @@
 		  ViceFid *newfid = &out->cfs_replace.NewFid;
 		  clstats(CFS_REPLACE);
 		  CDEBUG(D_DOWNCALL, "CFS_REPLACE\n");
-		  inode = coda_fid_to_inode(newfid, sb);
+		  inode = coda_fid_to_inode(oldfid, sb);
 		  if ( inode ) { 
 			  CDEBUG(D_DOWNCALL, "replacefid: inode = %ld\n", inode->i_ino);
 			  coda_replace_fid(inode, oldfid, newfid);
-                          coda_purge_dentries(inode);
 		  }else 
 			  CDEBUG(D_DOWNCALL, "purgefid: no inode\n");
 		  
