patch-2.1.75 linux/include/linux/coda_namecache.h
Next file: linux/include/linux/coda_opstats.h
Previous file: linux/include/linux/coda_linux.h
Back to the patch index
Back to the overall index
- Lines: 161
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
v2.1.74/linux/include/linux/coda_namecache.h
- Orig date:
Tue Dec 2 16:45:20 1997
diff -u --recursive --new-file v2.1.74/linux/include/linux/coda_namecache.h linux/include/linux/coda_namecache.h
@@ -1,160 +0,0 @@
-/*
- * Mach Operating System
- * Copyright (c) 1990 Carnegie-Mellon University
- * Copyright (c) 1989 Carnegie-Mellon University
- * All rights reserved. The CMU software License Agreement specifies
- * the terms and conditions for use and redistribution.
- */
-
-/*
- * This code was written for the Coda file system at Carnegie Mellon University.
- * Contributers include David Steere, James Kistler, and M. Satyanarayanan.
- */
-
-/*
- * HISTORY
- * cfsnc.h,v
- * Revision 1.2 1996/01/02 16:57:19 bnoble
- * Added support for Coda MiniCache and raw inode calls (final commit)
- *
- * Revision 1.1.2.1 1995/12/20 01:57:45 bnoble
- * Added CFS-specific files
- *
- * Revision 3.1.1.1 1995/03/04 19:08:22 bnoble
- * Branch for NetBSD port revisions
- *
- * Revision 3.1 1995/03/04 19:08:21 bnoble
- * Bump to major revision 3 to prepare for NetBSD port
- *
- * Revision 2.2 1994/08/28 19:37:39 luqi
- * Add a new CFS_REPLACE call to allow venus to replace a ViceFid in the
- * mini-cache.
- *
- * In "cfs.h":
- * Add CFS_REPLACE decl.
- *
- * In "cfs_namecache.c":
- * Add routine cfsnc_replace.
- *
- * In "cfs_subr.c":
- * Add case-statement to process CFS_REPLACE.
- *
- * In "cfsnc.h":
- * Add decl for CFSNC_REPLACE.
- *
- * Revision 2.1 94/07/21 16:25:27 satya
- * Conversion to C++ 3.0; start of Coda Release 2.0
- *
- * Revision 1.2 92/10/27 17:58:34 lily
- * merge kernel/latest and alpha/src/cfs
- *
- * Revision 2.2 90/07/05 11:27:04 mrt
- * Created for the Coda File System.
- * [90/05/23 dcs]
- *
- * Revision 1.4 90/05/31 17:02:12 dcs
- * Prepare for merge with facilities kernel.
- *
- *
- */
-#ifndef _CFSNC_HEADER_
-#define _CFSNC_HEADER_
-
-#include "coda.h"
-#include "coda_cnode.h"
-
-
-/*
- * Cfs constants
- */
-#define CFSNC_NAMELEN 15 /* longest name stored in cache */
-#define CFSNC_CACHESIZE 256 /* Default cache size */
-#define CFSNC_HASHSIZE 64 /* Must be multiple of 2 */
-/*
- * Structure for an element in the CFS Name Cache.
- */
-
-/* roughly 50 bytes per entry */
-struct cfscache {
- struct cfscache *hash_next,*hash_prev; /* Hash list */
- struct cfscache *lru_next, *lru_prev; /* LRU list */
- struct cnode *cp; /* vnode of the file */
- struct cnode *dcp; /* parent's cnode */
- struct CodaCred *cred; /* user credentials */
- char name[CFSNC_NAMELEN]; /* segment name */
- int namelen; /* length of name */
-};
-
-
-
-/* exported */
-void cfsnc_init(void);
-void cfsnc_enter(struct cnode *dcp, register const char *name, int namelen, struct cnode *cp);
-struct cnode *cfsnc_lookup(struct cnode *dcp, register const char *name, int namelen);
-void cfsnc_zapParentfid(ViceFid *fid);
-void cfsnc_zapfid(ViceFid *fid);
-void cfsnc_zapfile(struct cnode *dcp, register const char *name, int length);
-void cfsnc_purge_user(struct CodaCred *cred);
-void cfsnc_flush(void);
-void cfsnc_replace(ViceFid *f1, ViceFid *f2);
-void print_cfsnc(void);
-void coda_print_ce(struct cfscache *);
-int cfsnc_resize(int hashsize, int heapsize);
-
-
-
-/* #define CFSNC_VALID(cncp) ( (cncp->dcp != (struct cnode *)0) && (cncp->cp->c_flags & C_VATTR) ) */
-#define CFSNC_VALID(cncp) (cncp->dcp != (struct cnode *)0)
-
-#define DATA_PART(cncp) (struct cfscache *) \
- ((char *)cncp + (4*sizeof(struct cfscache *)))
-#define DATA_SIZE (sizeof(struct cfscache)-(4*sizeof(struct cfscache *)))
-
-/*
- * Structure to contain statistics on the cache usage
- */
-
-struct cfsnc_statistics {
- unsigned hits;
- unsigned misses;
- unsigned enters;
- unsigned dbl_enters;
- unsigned long_name_enters;
- unsigned long_name_lookups;
- unsigned long_remove;
- unsigned lru_rm;
- unsigned zapPfids;
- unsigned zapFids;
- unsigned zapFile;
- unsigned zapUsers;
- unsigned Flushes;
- unsigned Sum_bucket_len;
- unsigned Sum2_bucket_len;
- unsigned Max_bucket_len;
- unsigned Num_zero_len;
- unsigned Search_len;
-};
-
-/*
- * Symbols to aid in debugging the namecache code. Assumes the existence
- * of the variable cfsnc_debug, which is defined in cfs_namecache.c
- */
-extern int cfsnc_debug;
-#define CFSNC_DEBUG(N, STMT) { if (cfsnc_debug & (1 <<N)) { STMT } }
-
-#define CFSNC_FIND ((u_long) 1)
-#define CFSNC_REMOVE ((u_long) 2)
-#define CFSNC_INIT ((u_long) 3)
-#define CFSNC_ENTER ((u_long) 4)
-#define CFSNC_LOOKUP ((u_long) 5)
-#define CFSNC_ZAPPFID ((u_long) 6)
-#define CFSNC_ZAPFID ((u_long) 7)
-#define CFSNC_ZAPVNODE ((u_long) 8)
-#define CFSNC_ZAPFILE ((u_long) 9)
-#define CFSNC_PURGEUSER ((u_long) 10)
-#define CFSNC_FLUSH ((u_long) 11)
-#define CFSNC_PRINTCFSNC ((u_long) 12)
-#define CFSNC_PRINTSTATS ((u_long) 13)
-#define CFSNC_REPLACE ((u_long) 14)
-
-#endif _CFSNC_HEADER_
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov