]> sourceware.org Git - lvm2.git/commit
pvmove: prohibit non-resilient collocation of RAID SubLVs
authorHeinz Mauelshagen <heinzm@redhat.com>
Mon, 15 Aug 2016 16:22:32 +0000 (18:22 +0200)
committerHeinz Mauelshagen <heinzm@redhat.com>
Mon, 15 Aug 2016 16:22:32 +0000 (18:22 +0200)
commit8e9d5d12ae3ac75852ebd74b64c28e31abb68d0e
tree584699dc8f3f39da6dae05fa70a0d7b9ad4b4229
parentc7bd33d9516dd6d146a02b4af43eb142a4f0aa26
pvmove: prohibit non-resilient collocation of RAID SubLVs

'pvmove -n name pv1 pv2' allows to collocate multiple RAID SubLVs
on pv2 (e.g. results in collocated raidlv_rimage_0 and raidlv_rimage_1),
thus causing loss of resilence and/or performance of the RaidLV.

Fix this pvmove flaw leading to potential data loss in case of PV failure
by preventing any SubLVs from collocation on any PVs of the RaidLV.
Still allow to collocate any DataLVs of a RaidLV with their sibling MetaLVs
and vice-versa though (e.g. raidlv_rmeta_0 on pv1 may still be moved to pv2
already holding raidlv_rimage_0).

Because access to the top-level RaidLV name is needed,
promote local _top_level_lv_name() from raid_manip.c
to global top_level_lv_name().

- resolves rhbz1202497
WHATS_NEW
lib/metadata/metadata-exported.h
lib/metadata/raid_manip.c
tools/pvmove.c
This page took 0.040228 seconds and 5 git commands to generate.