OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-3732-g479c346

Gerrit Code Review gerrit@openafs.org
Wed, 1 May 2013 07:18:05 -0700 (PDT)


The following commit has been merged in the master branch:
commit 479c34614f33859131258e330e7a3f8494e0bc80
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 30 14:37:54 2013 -0500

    afs: Do not invalidate all dcaches on startup
    
    Commit 20b0c65a289e2b55fb6922c8f60e873f1f4c6f97 changed
    afs_UFSGetDSlot to always treat a dslot entry as invalid if
    'datavalid' was 0. This was to force the invalidation of the given
    dslot if we were reading in a dslot from the free or discard list,
    since the data in that dslot is not valid.
    
    However, 'datavalid' is also 0 when we read in dcache entries from
    disk on startup. So, this means that we invalidated all cache entries
    when the client started up, effectively making our persistent cache
    worthless.
    
    Fix this by only forcing this invalidation when we are reading from a
    free or discarded dcache, and not during the initial cache scan. That
    is, when 'indexvalid' is 1, and 'datavalid' is 0.
    
    The parameters for these Get*DSlot variants should maybe be changed to
    be a little more clear, but for now, this is a targeted fix for this
    specific issue.
    
    FIXES 131655
    
    Change-Id: Ic23f1e17cd966b8468849f54fc6fda37e1f61c0c
    Reviewed-on: http://gerrit.openafs.org/9833
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

 src/afs/afs_dcache.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

-- 
OpenAFS Master Repository