The current code behind vgreduce --removemissing --force is buggy and is duplicating existing functionality from other parts of LVM. Initially, it should:
- remove any partial, non-mirror LVs (lv_remove_with_dependencies)
- if there are any partial LVs left, error out and tell the user to use lvconvert --repair or similar
I will file a followup bug for mirror LVs.
Patches are awaiting review (covering both mirror and non-mirror LVs).
Checked in upstream.