OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4293-g7d4f3a4
Gerrit Code Review
gerrit@openafs.org
Thu, 5 Jun 2014 07:20:58 -0400
The following commit has been merged in the master branch:
commit 7d4f3a4710fb8c9fbde4294c2458ecf32658300b
Author: Mark Vitale <mvitale@sinenomine.net>
Date: Thu Apr 3 16:37:51 2014 -0400
afs: only reset access caches for the matching cell
When an AFS user's tokens change (unlog, aklog) or expire,
afs_ResetAccessCache() is called to reset all the access caches
for that uid/PAG.
However, a user/PAG may have tokens for multiple cells, and they
may expire or be set/reset at different times. Therefore, it is
incorrect to assume that all access caches for a uid/PAG should
be discarded when only one cell's tokens have changed.
Modify afs_ResetAccessCache() to acccept a new argument 'cell',
and only reset the access caches for a uid/PAG if the vcache
resides in the specified cell. If the caller really wants to
reset all a user's access caches, specify cell=-1.
For cache managers that are running with multiple PAGs and multiple
cells, this should improve performance because 1) it avoids
scanning access caches chains for vcaches that are not part of the
current cell and 2) it avoids deleting access caches that may still
good, thus preventing unnecessary FetchStatus calls.
Change-Id: Id4c138dab45fd48265a4029880a5d57947e67a52
Reviewed-on: http://gerrit.openafs.org/11070
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: D Brashear <shadow@your-file-system.com>
src/afs/afs_prototypes.h | 2 +-
src/afs/afs_user.c | 18 +++++++++++++-----
2 files changed, 14 insertions(+), 6 deletions(-)
--
OpenAFS Master Repository