1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 18:55:19 +03:00
lvm2/lib
Alasdair G Kergon 80900dcf76 metadata: Fix metadata repair when devs still missing.
_check_reappeared_pv() incorrectly clears the MISSING_PV flags of
PVs with unknown devices.
While one caller avoids passing such PVs into the function, the other
doesn't.  Move the check inside the function so it's not forgotten.

Without this patch, if the normal VG reading code tries to repair
inconsistent metadata while there is an unknown PV, it incorrectly
considers the missing PVs no longer to be missing and produces
incorrect 'pvs' output omitting the missing PV, for example.

Easy reproducer:
Create a VG with 3 PVs pv1, pv2, pv3.
Hide pv2.
Run vgreduce --removemissing.
Reinstate the hidden PV pv2 and at the same time hide a different PV
pv3.
Run 'pvs' - incorrect output.
Run 'pvs' again - correct output.

See https://bugzilla.redhat.com/1434054
2017-05-11 02:17:34 +01:00
..
activate thin: properly check for status for max sizes metadata 2017-04-12 21:34:08 +02:00
cache cleanup: use more common FMTd64 type 2017-03-27 20:50:19 +02:00
cache_segtype cache: scan kallsyms for kernel symbols 2017-03-31 17:12:00 +02:00
commands command struct: remove command name refs 2017-02-13 08:20:10 -06:00
config lvcreate: raise default raid regionsize to 2MiB 2017-04-13 16:10:49 +02:00
datastruct datastruct: Add str_list_wipe. 2016-04-29 19:47:15 +01:00
device devices: Recognise Veritas Dynamic Multipathing 2017-01-10 22:23:23 +00:00
display cache: enhance lvdisplay for cache volumes 2017-03-10 19:33:01 +01:00
error activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
filters cleanup: log_info to log_error 2016-11-03 17:49:07 +01:00
format1 build: fix x32 arch 2017-03-27 20:50:19 +02:00
format_pool lvconvert: add infrastructure for RaidLV reshaping support 2017-02-24 05:20:58 +01:00
format_text build: fix x32 arch 2017-03-27 20:50:19 +02:00
freeseg doc: change fsf address 2016-01-21 12:11:37 +01:00
label log_info to log_very_verbose 2016-11-03 17:49:07 +01:00
locking cleanup: more lv_is_ usage 2016-12-13 22:07:52 +01:00
log cleanup: add 'static' for local struct 2016-11-03 12:43:09 +01:00
lvmpolld doc: change fsf address 2016-01-21 12:11:37 +01:00
metadata metadata: Fix metadata repair when devs still missing. 2017-05-11 02:17:34 +01:00
mirror mirror/raid: display adjusted region size with units 2017-04-20 20:42:21 +02:00
misc signals: fix comparison flaw 2017-04-10 18:41:28 +02:00
mm cleanup: compile fixes for --disable-devmapper 2016-06-03 12:46:43 +02:00
notify dbus: also recognize error state for missing service that comes from original D-Bus 2016-11-15 10:09:11 +01:00
properties doc: change fsf address 2016-01-21 12:11:37 +01:00
raid lvconvert: add segment type raid10_near 2017-04-12 01:28:22 +02:00
replicator doc: change fsf address 2016-01-21 12:11:37 +01:00
report build: fix x32 arch 2017-03-27 20:50:19 +02:00
snapshot activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
striped striped: implement compatible target name 2016-12-05 17:02:01 +01:00
thin thin: add new ZERO/DISCARDS_UNSELECTED 2017-03-10 19:33:00 +01:00
unknown doc: change fsf address 2016-01-21 12:11:37 +01:00
uuid cleanup :drop unneeded header file 2016-10-03 17:49:56 +02:00
zero activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
Makefile.in lib: Move lcm and gcd to lib/misc for wider use. 2016-08-18 14:06:13 +01:00