OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-157-gdc8f18d

Gerrit Code Review
Wed, 26 May 2010 15:01:40 -0700 (PDT)

The following commit has been merged in the master branch:
commit dc8f18d6f5003712bc9ef989363137a84953df07
Author: Andrew Deason <>
Date:   Wed Mar 31 11:40:42 2010 -0500

    Protect ubik cache accesses
    Currently, ubik application cached data could be updated and read by
    different threads simultaneously. Add a mechanism in ubik for
    protecting accessing and updating the cached data. This adds the
    function ubik_CheckCache to do this, and removes ubik_CacheUpdate as
    an exported function (since it's not safe).
    Update all callers to use the new mechanism. In ptserver, remove the
    'initd' variable; just rely on cachedVersion and ubik_CheckCache to
    tell us when to re-read the database. Remove db.lock in buserver and
    cheader_lock in kaserver, which served similar (though not completely
    threadsafe) protection as ubik_CheckCache. Add the ubik database lock
    cache_lock to protect the application cache.
    Change-Id: I857a67d410e2c539197c5212c3b114c3fd0403c2
    Reviewed-by: Derrick Brashear <>
    Tested-by: Russ Allbery <>

 src/budb/database.c    |   34 +++++++++-----
 src/kauth/kadatabase.c |   38 ++++++++++------
 src/ptserver/ptprocs.c |    6 +-
 src/ptserver/ptutils.c |  115 +++++++++++++++++++++++++++++++-----------------
 src/ptserver/ubik.c    |    2 +-
 src/ubik/ubik.c        |  115 +++++++++++++++++++++++++++++++++++++++++++----
 src/ubik/ubik.p.h      |   23 +++++++++-
 src/vlserver/vlutils.c |   91 +++++++++++++++++++++++++-------------
 8 files changed, 311 insertions(+), 113 deletions(-)

OpenAFS Master Repository