mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
bf8c8a6d61
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.) |
||
---|---|---|
.. | ||
clvmd | ||
cmirrord | ||
dmeventd | ||
Makefile.in |