OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2202-g8396388

Gerrit Code Review gerrit@openafs.org
Fri, 24 Feb 2012 04:26:55 -0800 (PST)


The following commit has been merged in the master branch:
commit 839638870986ebd4cf992f7a2c81a23e37c14228
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 21 17:46:41 2012 -0600

    salvager: Do not require MaybeZapVolume fileName
    
    In MaybeZapVolume, currently we do not remove the volume header if the
    given isp->volSummary->fileName is not set. This effectively means
    that we only actually "zap" volumes for which we have just created the
    header, or which are not referenced by any inodes.
    
    For readonly volumes that have errors, we want to delete the volumes
    instead of salvaging. Readonly volumes with valid headers will have
    fileName as NULL, though (set back in SalvageFileSys1), so
    MaybeZapVolume will refuse to remove them. What ends up happening is
    that the headers will stay around, but since we do not finish checking
    the volume, all of the inodes for the data in the volume will be
    dec'd. This results in a volume whose header exists, but none of its
    inodes (including special inodes) exist, so the volume will need to be
    salvaged again, and during that salvage will be deleted (because there
    are no inodes for the volume).
    
    Avoid all this, and just delete volume headers for volumes that lack a
    valid fileName. Instead try to avoid deleting headers with
    volSummary->deleted set, just so we don't try to delete the same
    headers twice.
    
    Related issue reported by ├ůsa Andersson.
    
    Change-Id: I4797d0cabe3851debdc78f4ed9ee619534397970
    Reviewed-on: http://gerrit.openafs.org/6784
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/vol/vol-salvage.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

-- 
OpenAFS Master Repository