diff options
author | rwatson <rwatson@FreeBSD.org> | 2008-02-13 13:06:22 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2008-02-13 13:06:22 +0000 |
commit | a9d8becadfeaa3feddeb007ab4ab93ed3ee3c3bb (patch) | |
tree | e5844e746601ff060b2a2e181da26dd34b844b17 /sys/fs/coda/cnode.h | |
parent | 313dc11b0b7ad402a5819a72cb35c4f81522f3f5 (diff) | |
download | FreeBSD-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.h | 3 |
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); |