OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-110-g44da0b3

Gerrit Code Review gerrit@openafs.org
Mon, 17 May 2010 05:38:02 -0700 (PDT)


The following commit has been merged in the master branch:
commit 44da0b32ee192017a080e26037e4f4b18e90717c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 20:14:02 2010 +0100

    Demand-Attach: Remove dangerous trailing else
    
    Change 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f introduced a
    dangerous trailing else into the VScheduleSalvage_r function:
    
     #ifdef A
        if (foo) {
          ...
        } else
     #endif
     #ifdef B
        if (bar) {
          ...
        }
     #endif
        something_else()
    
    In a situation where we have A && !B, then something_else() ends up
    only being run when foo is false. Given that something_else() is
    VOL_LOCK, this will not end well.
    
    In the real world, we hit this problen when we build the volume
    package with SALVSYNC_BUILD_CLIENT and !FSYNC_BUILD_CLIENT - in
    other words, whilst building the fileserver.
    
    Change-Id: I97e07a6e730df8ac480d295b4cf30b0695ace511
    Reviewed-on: http://gerrit.openafs.org/1832
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

 src/vol/volume.c |   70 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 45 insertions(+), 25 deletions(-)

-- 
OpenAFS Master Repository