OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0b-97-g4c80871

Gerrit Code Review gerrit@openafs.org
Tue, 1 Nov 2011 19:28:24 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit 4c80871a16d6022c3d3e5edc0504208ddad49cc8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 15:10:56 2010 -0500

    ubik: Record the last write tid in writeTidCounter
    
    ubik is currently tracking writeTidCounter for write transactions
    separately from regular transactions (assigned from tidCounter).
    Specifically, tidCounter is incremented twice for each transaction,
    but writeTidCounter is incremented twice only for write transactions.
    As a result, writeTidCounter and tidCounter tend to drift far apart.
    
    This is a problem, since the tid for DISK_* calls uses the transaction
    id of the current transaction (based on tidCounter), and VOTE_Beacon
    uses writeTidCounter for its transaction id. So, in effect, the tid in
    VOTE_Beacon is completely bogus and unrelated to the transaction id of
    the actual current write transaction. This can cause valid write
    transactions to become invalidated when tidCounter becomes negative,
    since VOTE_Beacon will send a positive tid, and if there is a current
    in-flight write transaction with a negative tid, SVOTE_Beacon will
    deem the transactions inequal and will abort the write transaction.
    
    So instead, record the transaction id counter for the last write
    transaction in writeTidCounter. This way, when we call VOTE_Beacon, we
    will use the correct transaction id counter for the current write
    transaction, and SVOTE_Beacon on the remote site will not invalidate
    the transaction.
    
    Reviewed-on: http://gerrit.openafs.org/2647
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit a0cc81c0894193db11860d8fe40380c7198741a9)
    
    Change-Id: Iabff9bd68db088c30c7e44ad71b7d34bcfaaf207
    Reviewed-on: http://gerrit.openafs.org/5751
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

 src/ubik/ubik.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

-- 
OpenAFS Master Repository