1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Heinz Mauelshagen 8e9d5d12ae 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
2016-08-15 18:22:32 +02:00
..
activate thin: fix link validation for unused thin-pool 2016-07-01 00:44:46 +02:00
cache lvmetad: fix use committed metadata to update 2016-07-20 10:25:26 -05:00
cache_segtype lvchange: allow change of cache mode 2016-05-19 18:40:14 +02:00
commands config: add support for CFG_DISALLOW_INTERACTIVE flag to mark settings as not suitable for override in interactive mode 2016-08-09 18:49:11 +02:00
config conf: add comment about cfg_runtime 2016-08-15 10:38:38 +02:00
datastruct datastruct: Add str_list_wipe. 2016-04-29 19:47:15 +01:00
device devices: handle partscan loop devices 2016-06-01 17:37:47 +02:00
display cleanup: warns from older gcc 2016-07-01 00:44:48 +02:00
error activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
filters vgimportclone: add native command 2016-06-22 13:13:10 -05:00
format1 redefine pvcreate structs 2016-02-25 09:14:10 -06:00
format_pool macros: Use is_power_of_2. 2016-06-30 17:59:44 +01:00
format_text cleanup: drop unused header files 2016-07-04 17:40:24 +02:00
freeseg doc: change fsf address 2016-01-21 12:11:37 +01:00
label lvmcache: add optional dev arg to lvmcache_info_from_pvid 2016-06-07 15:15:47 -05:00
locking lvmlockd: improve error message about missing global lock 2016-07-25 14:49:01 -05:00
log shell: also collect last command's return code for subsequent 'lastlog' invocation 2016-08-09 18:24:45 +02:00
lvmpolld doc: change fsf address 2016-01-21 12:11:37 +01:00
metadata pvmove: prohibit non-resilient collocation of RAID SubLVs 2016-08-15 18:22:32 +02:00
mirror activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
misc log: separate output and make it possible to use given FDs 2016-08-09 18:24:45 +02:00
mm cleanup: compile fixes for --disable-devmapper 2016-06-03 12:46:43 +02:00
notify notify: Fix hang with lvm shell & --enable-notify-dbus 2016-08-12 14:36:43 -05:00
properties doc: change fsf address 2016-01-21 12:11:37 +01:00
raid raid0: Add raid0_meta segment type. 2016-07-01 22:20:54 +01:00
replicator doc: change fsf address 2016-01-21 12:11:37 +01:00
report report: add report_reset_cmdlog_seqnum and call it for each new cmd executed in lvm shell 2016-08-09 18:49:11 +02:00
snapshot activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
striped striped: Add precise macros for original segtype. 2016-08-04 01:24:39 +01:00
thin macros: Use is_power_of_2. 2016-06-30 17:59:44 +01:00
unknown doc: change fsf address 2016-01-21 12:11:37 +01:00
uuid coverity: missing check for id_write_format return value 2016-05-31 09:56:10 +02:00
zero activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
Makefile.in vgimportclone: add native command 2016-06-22 13:13:10 -05:00