patch-2.4.2 linux/fs/dcache.c
Next file: linux/fs/devfs/base.c
Previous file: linux/fs/coda/upcall.c
Back to the patch index
Back to the overall index
- Lines: 51
- Date:
Fri Feb 16 16:06:17 2001
- Orig file:
v2.4.1/linux/fs/dcache.c
- Orig date:
Wed Jan 3 11:03:35 2001
diff -u --recursive --new-file v2.4.1/linux/fs/dcache.c linux/fs/dcache.c
@@ -18,7 +18,6 @@
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/fs.h>
-#include <linux/malloc.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
@@ -52,13 +51,8 @@
static struct list_head *dentry_hashtable;
static LIST_HEAD(dentry_unused);
-struct {
- int nr_dentry;
- int nr_unused;
- int age_limit; /* age in seconds */
- int want_pages; /* pages requested by system */
- int dummy[2];
-} dentry_stat = {0, 0, 45, 0,};
+/* Statistics gathering. */
+struct dentry_stat_t dentry_stat = {0, 0, 45, 0,};
/* no dcache_lock, please */
static inline void d_free(struct dentry *dentry)
@@ -346,8 +340,7 @@
if (dentry->d_flags & DCACHE_REFERENCED) {
dentry->d_flags &= ~DCACHE_REFERENCED;
list_add(&dentry->d_lru, &dentry_unused);
- count--;
- continue;
+ goto next;
}
dentry_stat.nr_unused--;
@@ -356,6 +349,7 @@
BUG();
prune_one_dentry(dentry);
+ next:
if (!--count)
break;
}
@@ -696,7 +690,7 @@
static inline struct list_head * d_hash(struct dentry * parent, unsigned long hash)
{
hash += (unsigned long) parent / L1_CACHE_BYTES;
- hash = hash ^ (hash >> D_HASHBITS) ^ (hash >> D_HASHBITS*2);
+ hash = hash ^ (hash >> D_HASHBITS);
return dentry_hashtable + (hash & D_HASHMASK);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)