Index: oldkernel/linux/fs/dcache.c
diff -u linux/fs/dcache.c:1.1.1.1 linux/fs/dcache.c:1.2
--- linux/fs/dcache.c:1.1.1.1	Wed May 31 12:33:48 2000
+++ linux/fs/dcache.c	Thu Jun  1 16:48:05 2000
@@ -903,12 +903,11 @@
 	return ino;
 }
 
-void __init dcache_init(void)
+void __init dcache_init(unsigned long memory_size)
 {
 	int i, order;
 	struct list_head *d;
 	unsigned int nr_hash;
-	unsigned long memory_size;
 
 	/* 
 	 * A constructor could be added for stable state like the lists,
@@ -926,9 +925,6 @@
 	if (!dentry_cache)
 		panic("Cannot create dentry cache");
 
-	memory_size = num_physpages << PAGE_SHIFT;
-	memory_size >>= 13;
-	memory_size *= 2 * sizeof(void *);
 	for (order = 0; ((1UL << order) << PAGE_SHIFT) < memory_size; order++);
 
 	do {
Index: oldkernel/linux/include/linux/fs.h
diff -u linux/include/linux/fs.h:1.4 linux/include/linux/fs.h:1.5
--- linux/include/linux/fs.h:1.4	Thu Jun  1 15:08:25 2000
+++ linux/include/linux/fs.h	Thu Jun  1 16:48:05 2000
@@ -171,7 +171,7 @@
 extern void buffer_init(unsigned long);
 extern void inode_init(void);
 extern void file_table_init(void);
-extern void dcache_init(void);
+extern void dcache_init(unsigned long);
 
 typedef char buffer_block[BLOCK_SIZE];
 
Index: oldkernel/linux/init/main.c
diff -u linux/init/main.c:1.5 linux/init/main.c:1.6
--- linux/init/main.c:1.5	Thu Jun  1 15:05:19 2000
+++ linux/init/main.c	Thu Jun  1 16:48:05 2000
@@ -1297,7 +1297,7 @@
 #endif
 	uidcache_init();
 	filescache_init();
-	dcache_init();
+	dcache_init(memory_end-memory_start);
 	vma_init();
 	buffer_init(memory_end-memory_start);
  	page_cache_init(memory_end-memory_start);
