diff -ruN nfsd.orig/nfsd.h nfsd.opt/nfsd.h --- nfsd.orig/nfsd.h Fri Nov 10 15:27:37 2000 +++ nfsd.opt/nfsd.h Fri Nov 10 16:03:43 2000 @@ -76,7 +76,7 @@ /* nfsd/vfs.c */ int fh_lock_parent(struct svc_fh *, struct dentry *); -int nfsd_racache_init(int); +int nfsd_racache_init(void); void nfsd_racache_shutdown(void); int nfsd_lookup(struct svc_rqst *, struct svc_fh *, const char *, int, struct svc_fh *); diff -ruN nfsd.orig/racache.h nfsd.opt/racache.h --- nfsd.orig/racache.h Fri Nov 10 16:10:23 2000 +++ nfsd.opt/racache.h Fri Nov 10 15:50:49 2000 @@ -0,0 +1,43 @@ +/* + * include/linux/nfsd/racache.h + * + * Read ahead racache. + */ + +#ifndef NFSRACACHE_H +#define NFSRACACHE_H + +#ifdef __KERNEL__ +#include + +/* + * This is a cache of readahead params that help us choose the proper + * readahead strategy. Initially, we set all readahead parameters to 0 + * and let the VFS handle things. + * If you increase the number of cached files very much, you'll need to + * add a hash table here. + */ +/* + * Representation of an racache entry. The first two members *must* + * be hash_next and hash_prev. + */ +struct raparms { + struct raparms *p_hash_next; + struct raparms *p_hash_prev; + struct raparms *p_lru_next; + struct raparms *p_lru_prev; + ino_t p_ino; + dev_t p_dev; + unsigned long p_reada, + p_ramax, + p_raend, + p_ralen, + p_rawin; +}; + +int nfsd_racache_init(void); +void nfsd_racache_shutdown(void); +struct raparms *nfsd_get_raparms(dev_t , ino_t ); + +#endif /* __KERNEL__ */ +#endif /* NFSRACACHE_H */ diff -ruN nfsd.orig/stats.h nfsd.opt/stats.h --- nfsd.orig/stats.h Tue Jul 18 23:04:06 2000 +++ nfsd.opt/stats.h Fri Nov 10 15:51:52 2000 @@ -25,8 +25,8 @@ * of available threads were in use */ unsigned int th_fullcnt; /* number of times last free thread was used */ unsigned int ra_size; /* size of ra cache */ - unsigned int ra_depth[11]; /* number of times ra entry was found that deep - * in the cache (10percentiles). [10] = not found */ + unsigned int ra_hits; /* ra cache hits */ + unsigned int ra_misses; /* ra cache misses */ }; /* thread usage wraps very million seconds (approx one fortnight) */