1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib/metadata
Heinz Mauelshagen 0b8bf73a63 lvchange: allow a transiently failed RaidLV to be refreshed
In case any SubLV of a RaidLV transiently fails, it needs
two "lvchange --refresh RaidLV" runs to get it to fully
operational mode again.  Reason being, that lvm reloads all
targets for the RaidLV tree but doesn't resume the SubLVs
until after the whole tree has been reloaded in the first
refresh run.  Thus the live mapping table of the SubLVs
still point to an "error" mapping and the dm-raid target
can't retrieve any superblock from the MetaLV(s) in processing
the constructor during this preload thus not discovering the
again accessible SubLVs.  In the second run, the SubLV targets
map proper (meta)data, hence the constructor discovers those
fine now.

Solve by resuming the SubLVs of the RaidLV before
preloading the respective top-level RaidLV target.

Resolves: rhbz1399844
2016-11-30 22:57:54 +01: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 lvchange: allow a transiently failed RaidLV to be refreshed 2016-11-30 22:57:54 +01:00
lv.c lvchange/vgchange/lvconvert: prevent raid4 creation/activation/conversion on non-supporting raid targets 2016-10-27 11:42:07 +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 lvconvert: prevent non-synced raid1 primary leg repair 2016-10-28 15:55:10 +02:00
metadata.c cleanup: add some dots and use display_lvname 2016-11-25 15:01:27 +01:00
metadata.h thin: enforce there is some free space in thin pool metadata 2016-09-19 14:00:56 +02:00
mirror.c debug: stack tracing corrections 2016-11-23 17:55:03 +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 gcc: quiet warning about unused function 2016-11-25 15:02:36 +01: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 lvchange/vgchange/lvconvert: prevent raid4 creation/activation/conversion on non-supporting raid targets 2016-10-27 11:42:07 +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 cleanup: drop assign before use 2016-10-03 17:49:55 +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