salvager: Do not fork for single VG salvage
authorAndrew Deason <adeason@sinenomine.net>
Thu, 23 Feb 2012 19:02:13 +0000 (13:02 -0600)
committerDerrick Brashear <shadow@dementix.org>
Fri, 24 Feb 2012 12:25:55 +0000 (04:25 -0800)
commit46e85dd4682a3273e15bbf96c4d5492087555cab
tree48502aa07fa1510c945f0686f71ffb833ac89d21
parent2a1719faa810663d6d9cf774339e286c18ef2717
salvager: Do not fork for single VG salvage

Currently we always fork a child in the salvager in order to salvage a
volume group. I believe this is in order to protect SEGV, exit(), etc
in one salvage operation from preventing salvaging anything else. When
salvaging a single volume group, though, there appears to be little
benefit.

In addition, we need to keep the VG salvaging code in the same process
as the cleanup code for single-volume salvages, so we can know which
volumes were deleted by SalvageVolumeGroup, so we know which volumes
to bring back online. So, do not fork for the singleVolumeNumber case.

Note that for DAFS, we already never fork for the entire salvage
operation when salvaging an individual volume group. So, this is
effectively a non-DAFS-only change.

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