1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib/metadata
Jonathan Brassow ddb14b6b05 lvconvert: Disallow removal of primary when up-converting (recovering)
This patch ensures that under normal conditions (i.e. not during repair
operations) that users are prevented from removing devices that would
cause data loss.

When a RAID1 is undergoing its initial sync, it is ok to remove all but
one of the images because they have all existed since creation and
contain all the data written since the array was created.  OTOH, if the
RAID1 was created as a result of an up-convert from linear, it is very
important not to let the user remove the primary image (the source of
all the data).  They should be allowed to remove any devices they want
and as many as they want as long as one original (primary) device is left
during a "recover" (aka up-convert).

This fixes bug 1461187 and includes the necessary regression tests.
2017-06-14 08:41:05 -05:00
..
cache_manip.c cache: enable usage of --cachemetadataformat 2017-03-10 19:33:01 +01:00
lv_alloc.h lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
lv_manip.c mirror/raid: display adjusted region size with units 2017-04-20 20:42:21 +02:00
lv.c properties: only thin-pool provides discards 2017-03-17 14:22:33 +01:00
lv.h lv: introduce lvseg_percent_with_info_and_seg_status 2016-05-27 15:47:24 +02:00
merge.c Fix typo 2017-05-24 13:47:45 +02:00
metadata-exported.h raid: add reshape segtype flag support 2017-06-09 22:23:04 +02:00
metadata.c print warning about in-use orphans 2017-06-01 11:18:42 -05:00
metadata.h thin: enforce there is some free space in thin pool metadata 2016-09-19 14:00:56 +02:00
mirror.c mirror/raid: display adjusted region size with units 2017-04-20 20:42:21 +02:00
pool_manip.c cleanup: minor cosmetics 2017-03-10 19:33:01 +01:00
pv_alloc.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pv_manip.c pvresize: Missing a message on error path. 2017-04-27 15:00:41 +01:00
pv_map.c doc: change fsf address 2016-01-21 12:11:37 +01:00
pv_map.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pv.c lvmcache: add optional dev arg to lvmcache_info_from_pvid 2016-06-07 15:15:47 -05:00
pv.h pv: add is_used_pv fn 2016-02-15 12:44:46 +01:00
raid_manip.c lvconvert: Disallow removal of primary when up-converting (recovering) 2017-06-14 08:41:05 -05:00
replicator_manip.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
segtype.c lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
segtype.h lvconvert: linear -> raid1 upconvert should cause "recover" not "resync" 2017-06-14 08:35:22 -05:00
snapshot_manip.c lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
takeover_matrix.h lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
thin_manip.c cleanup: update message 2017-06-09 21:49:19 +02:00
vg.c macros: Use is_power_of_2. 2016-06-30 17:59:44 +01:00
vg.h lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00