afs: only reset access caches for the matching cell
[openafs.git] / src / afs / afs_prototypes.h
index f98aef2..6e51879 100644 (file)
@@ -601,6 +601,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);
@@ -1002,7 +1004,7 @@ extern void afs_ComputePAGStats(void);
 extern void afs_PutUser(struct unixuser *au, afs_int32 locktype);
 extern void afs_GCUserData(int aforce);
 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);
@@ -1046,11 +1048,14 @@ extern afs_int32 afs_data_pointer_to_int32(const void *p);
 /* AIX doesn't have usable va_args support in its kernel */
 extern void afs_warn();
 extern void afs_warnuser();
+extern void afs_warnall();
 #else
 extern void afs_warn(char *fmt, ...)
        AFS_ATTRIBUTE_FORMAT(__printf__, 1, 2);
 extern void afs_warnuser(char *fmt, ...)
        AFS_ATTRIBUTE_FORMAT(__printf__, 1, 2);
+extern void afs_warnall(char *fmt, ...)
+       AFS_ATTRIBUTE_FORMAT(__printf__, 1, 2);
 #endif
 
 /* afs_vcache.c */
@@ -1166,6 +1171,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
@@ -1203,8 +1210,6 @@ int afs_fid(OSI_VC_DECL(avc), struct fid **fidpp);
 #endif                          /* AFS_AIX41_ENV */
 
 /* VNOPS/afs_vnop_flock.c */
-extern afs_int32 lastWarnTime;
-
 extern void lockIdSet(struct AFS_FLOCK *flock, struct SimpleLocks *slp,
                      int clid);
 extern int HandleFlock(struct vcache *avc, int acom,
@@ -1327,7 +1332,7 @@ extern int afs_UFSHandleLink(struct vcache *avc,
                             struct vrequest *areq);
 extern int afs_symlink(OSI_VC_DECL(adp), char *aname,
                       struct vattr *attrs, char *atargetName,
-                      afs_ucred_t *acred);
+                      struct vcache **tvcp, afs_ucred_t *acred);
 extern int afs_readlink(OSI_VC_DECL(avc), struct uio *auio,
                        afs_ucred_t *acred);
 
@@ -1390,7 +1395,7 @@ extern void LockAndInstallUVolumeEntry(struct volume *av, struct uvldbentry *ve,
                                       int acell, struct cell *tcell,
                                       struct vrequest *areq);
 extern void afs_ResetVolumeInfo(struct volume *tv);
-extern struct volume *afs_MemGetVolSlot(void);
+extern struct volume *afs_MemGetVolSlot(afs_int32 volid, struct cell *cell);
 extern void afs_ResetVolumes(struct server *srvp, struct volume *tv);
 extern struct volume *afs_GetVolume(struct VenusFid *afid,
                                    struct vrequest *areq,
@@ -1399,7 +1404,7 @@ extern struct volume *afs_GetVolumeByName(char *aname,
                                          afs_int32 acell, int agood,
                                          struct vrequest *areq,
                                          afs_int32 locktype);
-extern struct volume *afs_UFSGetVolSlot(void);
+extern struct volume *afs_UFSGetVolSlot(afs_int32 volid, struct cell *cell);
 extern void afs_CheckVolumeNames(int flags);
 
 /* Prototypes for generated files that aren't really in src/afs/ */