OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_1pre2-108-ga45a0ea

Gerrit Code Review gerrit@openafs.org
Mon, 28 May 2012 07:44:36 -0700 (PDT)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit a45a0eafb1b8e4a92318eaa7a89b645a2af03073
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 2 11:38:57 2012 -0500

    vol: Avoid VBUSY/VRESTARTING trick for offline vop
    
    Currently, if GetVolume() finds that the volume we're trying to attach
    has a vol op that leaves the volume offline, we do the
    VBUSY/VRESTARTING trick as described in CheckVnode(). This doesn't
    make any sense for a couple of reasons.
    
    For one, VBUSY/VRESTARTING is not the correct error code to return to
    the client when an offline vol op is in progress and vp->specialStatus
    is not set everywhere else we yield VOFFLINE.
    
    Additionally, this block of code is only hit once for a particular vol
    op. Once we reach this section, the volume is in UNATTACHED state, and
    so on the next iteration of GetVolume we will immediately return
    VOFFLINE (or specialStatus). So the CheckVnode-like situation is not
    applicable, since we are not returning VBUSY to the same client for 15
    minutes; we would return VBUSY once and then return VOFFLINE.
    
    Reviewed-on: http://gerrit.openafs.org/7302
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    (cherry picked from commit 21ed79aeaee2d3b2b47436db0491943829ac44a6)
    
    Change-Id: I183db2d337c999e9aafd1eba60a80eb5b84264c7
    Reviewed-on: http://gerrit.openafs.org/7490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

 src/vol/volume.c |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

-- 
OpenAFS Master Repository