OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_5-61-g3648401

Gerrit Code Review
Wed, 11 Sep 2013 14:38:00 -0700 (PDT)

The following commit has been merged in the openafs-stable-1_6_x branch:
commit 3648401e204a9d447766ff0999d747b24aebdc55
Author: Andrew Deason <>
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.
    Reviewed-by: Derrick Brashear <>
    Tested-by: BuildBot <>
    (cherry picked from commit 839638870986ebd4cf992f7a2c81a23e37c14228)
    Change-Id: I0008d46d07c2ce763e70605b9260a7f71a86044a
    Reviewed-by: Andrew Deason <>
    Reviewed-by: Derrick Brashear <>
    Tested-by: BuildBot <>
    Reviewed-by: Stephan Wiesand <>

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

OpenAFS Master Repository