1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Peter Rajnoha c0e17bca90 dev_manager: do not mark snapshot origins as unusable devices just because of possible blocked mirror underneath
At first, all snapshot-origins where marked as unusable unconditionally
here, but we can't cut off whole snapshot-origin use in a stack just
because of this possible mirror state. This whole "device_is_usable"
check was even incorrectly part of persistent filter before commit
a843d0d97c66aae1872c05b0f6cf4bda176aae2 (where filter cleanup was
done).

The persistent filter is used only if obtain_device_list_from_udev=0,
which means that the former check for snapshot-origin here had not even
been hit with default configuration for a few years before commit
a843d0d97c66aae1872c05b0f6cf4bda176aae2 (the check for snapshot-origin and
skipping of this LV was introduced with commit a71d6051ed
back in 2010).

The obtain_device_list_from_udev=1 (and hence not using persistent
filter and hence not hitting this check for snapshot-origins and skipping) has been
in action since commit edcda01a1e (that is 2011).
So for 3 years this condition was not even checked with default configuration,
making it superfluous.

This all changed in 2014 with commit 8a843d0d97
where "filter-usable" is introduced  and since then all snapshot-origins
have been marked as unusable more often than before and making snapshot-origins
practically unusable in a stack.

This patch removes this incorrect check from commit a71d6051ed
which caused snapshot-origins to be unusable more often recently.

If we want to fix this eventually in a correct way, we need to look
down the stack and if snapshot-origin is hit and there's a blocked
mirror underneath, only then mark the device as unusable. But mirrors
in stack are not supported anymore so it's questionable whether it's
worth spending more time on this at all...
2015-01-09 11:24:16 +01:00
..
activate dev_manager: do not mark snapshot origins as unusable devices just because of possible blocked mirror underneath 2015-01-09 11:24:16 +01:00
cache lvmetad: Re-use fmt from the VG for PVs when possible. 2015-01-06 14:27:30 +01:00
cache_segtype cleanup: remove unused headers 2014-11-13 17:49:42 +01:00
commands segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
config config: add report/compact_output lvm.conf setting to enable or isable field compacting 2014-12-05 12:00:28 +01:00
datastruct cleanup: consolidate lv_layout and lv_role reporting 2014-08-25 16:14:40 +02:00
device cleanup: remove unused headers 2014-11-13 17:49:42 +01:00
display segments: introduce lvseg_name 2014-10-24 16:39:30 +02:00
error segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
filters cleanup: remove unused headers 2014-11-13 17:49:42 +01:00
format1 thin: simplify thin volume creation 2014-10-26 18:37:13 +01:00
format_pool thin: simplify thin volume creation 2014-10-26 18:37:13 +01:00
format_text pre-release 2014-11-11 14:13:00 +00:00
freeseg segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
label debug: drop printing debug trace without labeler 2014-09-24 10:54:48 +02:00
locking locking: rename LCK_CONVERT 2014-11-18 16:50:49 +01:00
log report: select: refactor: move str_list to libdm 2014-06-17 16:27:20 +02:00
metadata raid: fix mirror image naming when converting from mirror to raid1 2015-01-07 13:25:08 +01:00
mirror segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
misc cache: use LV_PENDING_DELETE 2014-11-10 22:05:49 +01:00
mm cleanup: drop unused var 2014-11-18 16:50:49 +01:00
properties report: add separate fields for PV/VG/LV attributes 2014-07-04 15:40:17 +02:00
raid segtype: add SEG_ONLY_EXCLUSIVE flag 2014-11-10 22:05:48 +01:00
replicator cleanup: drop default implementation 2014-10-24 16:39:31 +02:00
report libdm: report: add more comments about helper macros to get reserved values 2014-12-19 09:23:05 +01:00
snapshot segtype: add SEG_ONLY_EXCLUSIVE flag 2014-11-10 22:05:48 +01:00
striped segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
thin cleanup: API get/set fixes 2014-11-10 22:05:48 +01:00
unknown segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
uuid cleanup: drop unused define 2014-03-12 19:12:34 +01:00
zero cleanup: remove unused headers 2014-11-13 17:49:42 +01:00
Makefile.in filters: add "usable device" filter 2014-09-30 13:11:58 +02:00