1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib
Heinz Mauelshagen 74906dad60 raid: fix (de)activation of RaidLVs with visible SubLVs
There's a small window during creation of a new RaidLV when
rmeta SubLVs are made visible to wipe them in order to prevent
erroneous discovery of stale RAID metadata.  In case a crash
prevents the SubLVs from being committed hidden after such
wiping, the RaidLV can still be activated with the SubLVs visible.
During deactivation though, a deadlock occurs because the visible
SubLVs are deactivated before the RaidLV.

The patch adds _check_raid_sublvs to the raid validation in merge.c,
an activation check to activate.c (paranoid, because the merge.c check
will prevent activation in case of visible SubLVs) and shares the
existing wiping function _clear_lvs in raid_manip.c moved to lv_manip.c
and renamed to activate_and_wipe_lvlist to remove code duplication.
Whilst on it, introduce activate_and_wipe_lv to share with
(lvconvert|lvchange).c.

Resolves: rhbz1633167
2018-12-12 16:26:55 +01:00
..
activate raid: fix (de)activation of RaidLVs with visible SubLVs 2018-12-12 16:26:55 +01:00
cache remove unused full filter 2018-12-04 14:33:39 -06:00
cache_segtype Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
commands remove unused full filter 2018-12-04 14:33:39 -06:00
config config settings: fix version 3.0.0 2018-12-04 14:33:37 -06:00
datastruct build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
device devs: use udev info to improve md component detection 2018-12-04 14:33:38 -06:00
display display: basic vdo segment lvdisplay and lvs support 2018-07-09 15:28:35 +02:00
error device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
filters devs: use udev info to improve md component detection 2018-12-04 14:33:38 -06:00
format_text metadata: prevent writing beyond metadata area 2018-10-29 16:53:17 -05:00
freeseg device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
label remove unused full filter 2018-12-04 14:33:39 -06:00
locking cov: overflow before widen 2018-12-04 14:33:35 -06:00
log device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
lvmpolld device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
metadata raid: fix (de)activation of RaidLVs with visible SubLVs 2018-12-12 16:26:55 +01:00
mirror cov: drop uneeded header files 2018-10-15 17:49:44 +02:00
misc gcc: avoid shadowing use_aio 2018-12-04 14:33:38 -06:00
mm memlock: extend exception list 2018-07-02 10:24:20 +02:00
notify build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
properties build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
raid Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
report report: show empty lock_type for none 2018-06-15 14:14:39 -05:00
snapshot Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
striped device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
thin Merge branch '2018-06-04-data-structs' 2018-06-08 14:21:07 +01:00
unknown device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
uuid build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
vdo dmeventd: lvm vdo support 2018-07-09 15:29:16 +02:00
zero device_mapper: remove dbg_malloc. 2018-06-08 13:40:53 +01:00
Makefile.in Remove lvmetad 2018-07-11 11:26:42 -05:00