44abffb44b
VFS namecache, as is done by the Coda module on Linux. Unlike the Coda namecache, the global VFS namecache isn't tagged by credential, so use ore conservative flushing behavior (for now) when CODA_PURGEUSER is issued by Venus. This improves overall integration with the FreeBSD VFS, including allowing __getcwd() to work better, procfs/procstat monitoring, and so on. This improves shell behavior in many cases, and improves ".." handling. It may lead to some slowdown until we've implemented a specific access cache, which should net improve performance, but in the mean time, lookup access control now always goes to Venus, whereas previously it didn't. MFC after: 1 month
50 lines
2.0 KiB
C
50 lines
2.0 KiB
C
/*-
|
|
*
|
|
* Coda: an Experimental Distributed File System
|
|
* Release 3.1
|
|
*
|
|
* Copyright (c) 1987-1998 Carnegie Mellon University
|
|
* All Rights Reserved
|
|
*
|
|
* Permission to use, copy, modify and distribute this software and its
|
|
* documentation is hereby granted, provided that both the copyright
|
|
* notice and this permission notice appear in all copies of the
|
|
* software, derivative works or modified versions, and any portions
|
|
* thereof, and that both notices appear in supporting documentation, and
|
|
* that credit is given to Carnegie Mellon University in all documents
|
|
* and publicity pertaining to direct or indirect use of this code or its
|
|
* derivatives.
|
|
*
|
|
* CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
|
|
* SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
|
|
* FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
|
|
* DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
|
|
* RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
|
|
* ANY DERIVATIVE WORK.
|
|
*
|
|
* Carnegie Mellon encourages users of this software to return any
|
|
* improvements or extensions that they make, and to grant Carnegie
|
|
* Mellon the rights to redistribute these changes without encumbrance.
|
|
*
|
|
* @(#) src/sys/coda/coda_subr.h,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
#ifndef _CODA_SUBR_H_
|
|
#define _CODA_SUBR_H_
|
|
|
|
struct cnode *coda_alloc(void);
|
|
void coda_free(struct cnode *cp);
|
|
struct cnode *coda_find(CodaFid *fid);
|
|
void coda_flush(struct coda_mntinfo *mnt, enum dc_status dcstat);
|
|
void coda_testflush(void);
|
|
void coda_checkunmounting(struct mount *mp);
|
|
void coda_cacheprint(struct mount *whoIam);
|
|
void coda_debugon(void);
|
|
void coda_debugoff(void);
|
|
int coda_kill(struct mount *whoIam, enum dc_status dcstat);
|
|
void coda_save(struct cnode *cp);
|
|
void coda_unsave(struct cnode *cp);
|
|
|
|
#endif /* !_CODA_SUBR_H_ */
|