OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-361-g0aa7fac

Gerrit Code Review gerrit@openafs.org
Tue, 2 Nov 2010 04:44:30 -0700 (PDT)


The following commit has been merged in the master branch:
commit 0aa7fac246ce044c757530ebe96d3a05c2f33894
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 2 16:57:42 2010 -0500

    DAFS: Fix demand-salvages of attached volumes
    
    Currently, when an error is encountered for an attached volume, we
    call VRequestSalvage_r, which makes the volume go into the
    VOL_STATE_SALVAGING state. This state implies that the volume is
    offline, however, which is not necessarily the case if we're calling
    VRequestSalvage_r from, for example, VAllocVnode_r or VUpdateVolume_r.
    
    So now, make a new state called VOL_STATE_SALVAGE_REQ to indicate when
    a salvage has been requested but the volume is not offline yet (and
    thus is not yet ready to give to the salvager). If VCheckSalvage finds
    a volume in this state, it offlines the volume first. The FSSYNC
    VOL_OFF handler now checks for this state, and if we're giving the
    volume to the salvager, we wait for the volume to exit that state.
    
    VRequestSalvage_r also gains a new flag, VOL_SALVAGE_NO_OFFLINE. This
    is to ensure that the existing salvaging code paths for unattached
    volumes does not change (for when VRequesetSalvage_r is called from
    attach2). If this flag is passed, we do what we used to do, which is
    just salvage the volume without offlining it.
    
    Change-Id: Ie709ac7013ab2b52c87fa408c254651abe5e6af3
    Reviewed-on: http://gerrit.openafs.org/2329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

 src/vol/fssync-debug.c  |    1 +
 src/vol/fssync-server.c |   14 ++++-
 src/vol/volume.c        |  129 ++++++++++++++++++++++++++++++++++++++++++-----
 src/vol/volume.h        |   15 ++++-
 src/vol/volume_inline.h |   32 ++++++++++++
 5 files changed, 172 insertions(+), 19 deletions(-)

-- 
OpenAFS Master Repository