salvager: Do not set fileName on header fixup
authorAndrew Deason <adeason@sinenomine.net>
Tue, 21 Feb 2012 23:40:46 +0000 (17:40 -0600)
committerDerrick Brashear <shadow@dementix.org>
Fri, 24 Feb 2012 12:25:16 +0000 (04:25 -0800)
commit76f12c2389fd2a8e09b4e869730169401d154ce9
treed8e3bd6e8ad20fa205d8ae56bbe1bb6ebfb16b84
parent634c6f184b17e30ade86c0a838ab55ddddc730d6
salvager: Do not set fileName on header fixup

Currently, SalvageVolumeHeaderFile will set isp->volSummary->fileName
to a new string whenever the volume header needs to be created or
re-written. When control reaches back to SalvageFileSys1, this can
cause DeleteExtraVolumeHeaderFile to delete the header, since
vsp->fileName is used as a sort of indicator to see whether or not a
volume has been referenced by the inode summary.

When we create a new header, we avoid this because we allocate a new
VolumeSummary struct, which is not caught by the last
DeleteExtraVolumeHeaderFile for loop in SalvageFileSys1. However, we
do delete the header when we simply re-write a header, since we use
the existing VolumeSummary struct. Set fileName in neither, for
consistency.

Change-Id: Ibb7b5fbadb701028a6bafe01ae9f8d3265e2f443
Reviewed-on: http://gerrit.openafs.org/6783
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/vol/vol-salvage.c