afs: use jenkins hash for dcache, vcache tables
[openafs.git] / src / afs / afs_prototypes.h
index f9d1cf0..440567a 100644 (file)
@@ -30,7 +30,7 @@ extern void shutdown_bufferpackage(void);
 
 /* afs_call.c */
 extern int afs_cold_shutdown;
-extern char afs_rootVolumeName[64];
+extern char afs_rootVolumeName[MAXROOTVOLNAMELEN];
 extern void afs_shutdown(void);
 extern void afs_FlushCBs(void);
 extern int afs_CheckInit(void);
@@ -245,6 +245,8 @@ extern unsigned char *afs_indexFlags;
 extern struct afs_cacheOps *afs_cacheType;
 extern afs_dcache_id_t cacheInode;
 extern struct osi_file *afs_cacheInodep;
+extern int DCHash(struct VenusFid *fid, afs_int32 chunk);
+extern int DVHash(struct VenusFid *fid);
 extern void afs_dcacheInit(int afiles, int ablocks, int aDentries, int achunk,
                           int aflags);
 extern int afs_PutDCache(struct dcache *adc);
@@ -252,7 +254,7 @@ extern void afs_FlushDCache(struct dcache *adc);
 extern void shutdown_dcache(void);
 extern void afs_CacheTruncateDaemon(void);
 extern afs_int32 afs_fsfragsize;
-extern struct dcache *afs_MemGetDSlot(afs_int32 aslot, int indexvalid, int datavalid);
+extern struct dcache *afs_MemGetDSlot(afs_int32 aslot, dslot_state type);
 extern struct dcache *afs_GetDCache(struct vcache *avc,
                                    afs_size_t abyte,
                                    struct vrequest *areq,
@@ -274,7 +276,7 @@ extern void afs_TryToSmush(struct vcache *avc,
 extern void updateV2DC(int lockVc, struct vcache *v, struct dcache *d,
                       int src);
 extern void afs_WriteThroughDSlots(void);
-extern struct dcache *afs_UFSGetDSlot(afs_int32 aslot, int indexvalid, int datavalid);
+extern struct dcache *afs_UFSGetDSlot(afs_int32 aslot, dslot_state type);
 extern int afs_WriteDCache(struct dcache *adc, int atime);
 extern int afs_wakeup(struct vcache *avc);
 extern int afs_InitCacheFile(char *afile, ino_t ainode);
@@ -442,6 +444,7 @@ extern int afs_CacheInit(afs_int32 astatSize, afs_int32 afiles,
                         afs_int32 aflags, afs_int32 ninodes,
                         afs_int32 nusers, afs_int32 dynamic_vcaches);
 extern void afs_ComputeCacheParms(void);
+extern void afs_InitFHeader(struct afs_fheader *aheader);
 extern int afs_InitCacheInfo(char *afile);
 extern int afs_InitVolumeInfo(char *afile);
 extern int afs_InitCellInfo(char *afile);
@@ -468,13 +471,6 @@ extern void afs_osi_SleepW(char *addr,
                           struct afs_lock *alock);
 extern void afs_osi_SleepS(char *addr,
                           struct afs_lock *alock);
-#ifdef AFS_BOZONLOCK_ENV
-extern void afs_BozonLock(struct afs_bozoLock *alock, struct vcache *avc);
-extern void afs_BozonUnlock(struct afs_bozoLock *alock, struct vcache *avc);
-extern void afs_BozonInit(struct afs_bozoLock *alock, struct vcache *avc);
-extern int afs_CheckBozonLock(struct afs_bozoLock *alock);
-extern int afs_CheckBozonLockBlocking(struct afs_bozoLock *alock);
-#endif
 
 
 
@@ -601,6 +597,8 @@ extern int AddPag(afs_proc_t *p, afs_int32 aval, afs_ucred_t **credpp);
 extern int AddPag(afs_int32 aval, afs_ucred_t **credpp);
 #endif
 extern int afs_InitReq(struct vrequest *av, afs_ucred_t *acred);
+extern int afs_CreateReq(struct vrequest **avpp, afs_ucred_t *acred);
+extern void afs_DestroyReq(struct vrequest *av);
 extern afs_uint32 afs_get_pag_from_groups(gid_t g0a, gid_t g1a);
 extern void afs_get_groups_from_pag(afs_uint32 pag, gid_t * g0p, gid_t * g1p);
 extern afs_int32 PagInCred(afs_ucred_t *cred);
@@ -751,7 +749,7 @@ extern afs_int32 osi_get_group_pag(afs_ucred_t *cred);
 
 
 /* ARCH/osi_vm.c */
-extern int osi_VM_FlushVCache(struct vcache *avc, int *slept);
+extern int osi_VM_FlushVCache(struct vcache *avc);
 extern void osi_VM_StoreAllSegments(struct vcache *avc);
 extern void osi_VM_TryToSmush(struct vcache *avc, afs_ucred_t *acred,
                              int sync);
@@ -1000,9 +998,9 @@ extern void afs_GCPAGs_perproc_func(afs_proc_t * pproc);
 #endif /* AFS_GCPAGS */
 extern void afs_ComputePAGStats(void);
 extern void afs_PutUser(struct unixuser *au, afs_int32 locktype);
-extern void afs_GCUserData(int aforce);
+extern void afs_GCUserData(void);
 extern void afs_CheckTokenCache(void);
-extern void afs_ResetAccessCache(afs_int32 uid, int alock);
+extern void afs_ResetAccessCache(afs_int32 uid, afs_int32 cell, int alock);
 extern void afs_ResetUserConns(struct unixuser *auser);
 extern void afs_SetPrimary(struct unixuser *au, int aflag);
 extern void afs_MarkUserExpired(afs_int32 pag);
@@ -1057,6 +1055,8 @@ extern void afs_warnall(char *fmt, ...)
 #endif
 
 /* afs_vcache.c */
+extern int VCHash(struct VenusFid *fid);
+extern int VCHashV(struct VenusFid *fid);
 extern int afs_ShakeLooseVCaches(afs_int32 anumber);
 extern afs_int32 afs_maxvcount;
 extern afs_int32 afs_vcount;
@@ -1169,6 +1169,8 @@ extern int afs_setattr(OSI_VC_DECL(avc), struct vattr *attrs,
 extern int afs_setattr(OSI_VC_DECL(avc), struct vattr *attrs,
                       afs_ucred_t *acred);
 #endif
+extern int afs_CreateAttr(struct vattr **out);
+extern void afs_DestroyAttr(struct vattr *vattr);
 
 /* VNOPS/afs_vnop_create.c */
 #ifdef AFS_SGI64_ENV