summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Harkes <jaharkes@cs.cmu.edu>2007-07-19 10:48:42 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 19:04:48 +0200
commit56ee3547940f895a2cf20f2ac462fbeaee55fa2a (patch)
treeb8fe62fb424c9f6b10a41f67e91955735c9034ef
parentcoda: do not grab an uninitialized fd when the open upcall returns an error (diff)
downloadlinux-56ee3547940f895a2cf20f2ac462fbeaee55fa2a.tar.xz
linux-56ee3547940f895a2cf20f2ac462fbeaee55fa2a.zip
coda: correctly invalidate cached access rights
Change the epoch value to forces a refresh instead of clearing the cached rights mask and block all further accesses to the object. Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/coda/cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/coda/cache.c b/fs/coda/cache.c
index fcb88fa8d2f2..11538a2b5423 100644
--- a/fs/coda/cache.c
+++ b/fs/coda/cache.c
@@ -43,7 +43,7 @@ void coda_cache_enter(struct inode *inode, int mask)
void coda_cache_clear_inode(struct inode *inode)
{
struct coda_inode_info *cii = ITOC(inode);
- cii->c_cached_perm = 0;
+ cii->c_cached_epoch = atomic_read(&permission_epoch) - 1;
}
/* remove all acl caches */