1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/daemons
Milan Broz bf8c8a6d61 Remove empty "repaired" devices if empty in lvconvert.
The logic was that lvconvert repair volumes, marking
PV as MISSING and following vgreduce --removemissing
removes these missing devices.

Previously dmeventd mirror DSO removed all LV and PV
from VG by simply relying on
vgreduce --removemissing --force.

Now, there are two subsequent calls:
lvconvert --repair --use-policies
vgreduce --removemissing

So the VG is locked twice, opening space for all races
between other running lvm processes. If the PV reappears
with old metadata on it (so the winner performs autorepair,
if locking VG for update) the situation is even worse.


Patch simply adds removemissing PV functionality into
lvconcert BUT ONLY if running with --repair and --use-policies
and removing only these empty missing PVs which are
involved in repair.
(This combination is expected to run only from dmeventd.)
2010-01-06 13:26:21 +00:00
..
clvmd Propagate commit and revert metadata event to other nodes in cluster. 2010-01-05 16:09:33 +00:00
cmirrord More makefile cleaning up and fixing. (gentoo) 2009-10-05 13:46:00 +00:00
dmeventd Remove empty "repaired" devices if empty in lvconvert. 2010-01-06 13:26:21 +00:00
Makefile.in Allow for a build directory separate from the source. 2009-10-02 19:10:31 +00:00