summaryrefslogtreecommitdiffstats
path: root/sys/fs/coda/cnode.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2008-02-13 13:06:22 +0000
committerrwatson <rwatson@FreeBSD.org>2008-02-13 13:06:22 +0000
commita9d8becadfeaa3feddeb007ab4ab93ed3ee3c3bb (patch)
treee5844e746601ff060b2a2e181da26dd34b844b17 /sys/fs/coda/cnode.h
parent313dc11b0b7ad402a5819a72cb35c4f81522f3f5 (diff)
downloadFreeBSD-src-a9d8becadfeaa3feddeb007ab4ab93ed3ee3c3bb.zip
FreeBSD-src-a9d8becadfeaa3feddeb007ab4ab93ed3ee3c3bb.tar.gz
Rather than having the Coda module use its own namecache, use the global
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
Diffstat (limited to 'sys/fs/coda/cnode.h')
-rw-r--r--sys/fs/coda/cnode.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/coda/cnode.h b/sys/fs/coda/cnode.h
index c1c5441..3352496 100644
--- a/sys/fs/coda/cnode.h
+++ b/sys/fs/coda/cnode.h
@@ -190,7 +190,8 @@ int coda_call(struct coda_mntinfo *mntinfo, int inSize, int *outSize,
extern int coda_kernel_version;
/* cfs_subr.h */
-int handleDownCall(int opcode, union outputArgs *out);
+int handleDownCall(struct coda_mntinfo *mnt, int opcode,
+ union outputArgs *out);
void coda_unmounting(struct mount *whoIam);
int coda_vmflush(struct cnode *cp);
OpenPOWER on IntegriCloud