1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib/metadata
Heinz Mauelshagen 5d455b28fc lvconvert: fix (automatic) raid repair regression
The dm-raid target now rejects device rebuild requests during ongoing
resynchronization thus causing 'lvconvert --repair ...' to fail with
a kernel error message. This regresses with respect to failing automatic
repair via the dmeventd RAID plugin in case raid_fault_policy="allocate"
is configured in lvm.conf as well.

Previously allowing such repair request required cancelling the
resynchronization of any still accessible DataLVs, hence reasoning
potential data loss.

Patch allows the resynchronization of still accessible DataLVs to
finish up by rejecting any 'lvconvert --repair ...'.

It enhances the dmeventd RAID plugin to be able to automatically repair
by postponing the repair after synchronization ended.

More tests are added to lvconvert-rebuild-raid.sh to cover single
and multiple DataLV failure cases for the different RAID levels.

- resolves: rhbz1371717
2016-09-21 00:39:29 +02:00
..
cache_manip.c cache: introduce cache_pool_max_chunks 2016-08-29 20:47:31 +02:00
lv_alloc.h doc: change fsf address 2016-01-21 12:11:37 +01:00
lv_manip.c debug: cleanup backtrace after log_error 2016-09-19 14:00:56 +02:00
lv.c lvconvert: fix (automatic) raid repair regression 2016-09-21 00:39:29 +02:00
lv.h lv: introduce lvseg_percent_with_info_and_seg_status 2016-05-27 15:47:24 +02:00
merge.c lvcreate/lvconvert: fix validation of maximum mirrors/stripes 2016-08-12 19:14:28 +02:00
metadata-exported.h toollib: Record whether or not stripes/stripe_size args supplied. 2016-08-19 13:51:43 +01:00
metadata.c metadata: fix automatic updates of PV extension headers to newest version 2016-07-26 16:22:55 +02:00
metadata.h thin: enforce there is some free space in thin pool metadata 2016-09-19 14:00:56 +02:00
mirror.c metadata: also look at historical LVs when checking LV name availability 2016-03-03 13:50:59 +01:00
pool_manip.c debug: better verbose message 2016-08-29 20:51:16 +02:00
pv_alloc.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pv_manip.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +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: fix (automatic) raid repair regression 2016-09-21 00:39:29 +02:00
replicator_manip.c lvmetad: two phase vg_update 2016-06-28 02:30:31 +01:00
segtype.c segtypes: Further segtype macros. 2016-08-05 14:00:40 +01:00
segtype.h cache: report metadata percentage 2016-09-09 15:01:35 +02:00
snapshot_manip.c snapshot: check merging_cow is cow 2016-05-27 15:47:24 +02:00
takeover_matrix.h raid0: Add raid0_meta segment type. 2016-07-01 22:20:54 +01:00
thin_manip.c thin: enforce there is some free space in thin pool metadata 2016-09-19 14:00:56 +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