OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_5-5-gda2d64c

Gerrit Code Review gerrit@openafs.org
Tue, 20 Aug 2013 12:16:30 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit da2d64ce2f85e6b807a01f4a696a25fd989181b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 2 14:09:06 2013 -0500

    afs: Check dv against localhero aincr
    
    For operations that modify directories, we call afs_LocalHero to
    determine if we can perform the directory modification in our local
    cache, and avoid fetching the dir blob from the fileserver. Currently,
    afs_LocalHero assumes that the DV received from the fileserver is
    correct, and will update the cache DV as long as we have a valid
    callback on the file.
    
    If for any reason the client cache falls out of sync with what's on
    the fileserver, this can cause the client to incorrectly believe its
    cache is up to date. Since, the cached data will be marked with the
    newest DV, even if the DV on the server has jumped to be larger than
    we expected.
    
    While the client cache should never fall out of sync with the
    fileserver, in the past this has been possible due to other bugs
    (fileserver idle dead processing and client VNOSERVICE handling).
    Assuming that the given DV is correct is also just unnecesarily
    fragile, since we can always check if it is correct, so just check it,
    and add some comments helping explain what's going on here. Note that
    regular file writes effectively already check this.
    
    Note that this change makes use of the 'aincr' argument to
    afs_LocalHero, which was previously unused. aincr appears to have been
    used for a purpose similar to this before OpenAFS 1.0, but was
    removed, possibly accidentally.
    
    It is possible this change negatively affects, or even breaks
    (unlikely), functionality with the AFS<->DFS translator. Although
    nothing of the sort has been seen, it is difficult to know one way or
    the other, due to the lack of available DFS translators.
    
    Reviewed-on: http://gerrit.openafs.org/8864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    (cherry picked from commit 004e9f25634d76be58b5a60dfc3c9a058d8bcd26)
    
    Change-Id: Ie0a3ab5defc5dde3284ad7527fdd05835a85da7f
    Reviewed-on: http://gerrit.openafs.org/8898
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

 src/afs/VNOPS/afs_vnop_create.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

-- 
OpenAFS Master Repository