1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 18:55:19 +03:00
lvm2/lib
Peter Rajnoha 1e6a926e85 filter: filter-usable: consider snapshot and origin LV as unusable if its component is suspended
Note that this is just a quick fix and it needs more robust fix to
encompass any combination, not just the (old) snapshot one!

This started with this report:
  https://bugzilla.redhat.com/show_bug.cgi?id=1219222

If we have devices/ignore_suspended_devices=1 set based on which we
filter out suspended devices as unusable (or if we ignore suspended
devices by force, e.g. during lvconvert called from dmeventd) and
when we have snapshot and snapshot origin devices in the play, we
need to look at their components unerneath (*-real and *-cow) to
check if they're not suspended. If they are, the snapshot/snapshot
origin is not usable as well and hence it needs to be filtered out
by filter-usable.c code which does suspended device filtering.

Not going into much details here, more details are in the bugzilla
mentioned above. However, this is a quick fix since snapshot
and this exact situation is not the only one. So this is
something that needs to be revisited and fixed properly
with full dm tree and checking the whole stack to state
whether the device at the very top is usable or not.
2015-06-17 13:37:53 +02:00
..
activate filter: filter-usable: consider snapshot and origin LV as unusable if its component is suspended 2015-06-17 13:37:53 +02:00
cache metadata: When outdated PVs are wiped, notify lvmetad about the fact. 2015-06-10 16:27:12 +02:00
cache_segtype debug: extra validation of passed segment 2015-05-08 15:15:11 +02:00
commands new debug class for lvmpolld client code 2015-05-12 17:16:37 +02:00
config config: fix some settings incorrectly marked as CFG_DEFAULT_COMMENTED instead of CFG_DEFAULT_UNDEFINED and causing segfault 2015-06-17 13:34:31 +02:00
datastruct datastruct: Add str_list_add_list. 2015-03-26 18:30:37 +00:00
device cleanup: cast minor to dev_t 2015-05-08 15:15:10 +02:00
display display: fix return values 2015-03-10 14:10:18 +01:00
error segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
filters config: use timestamp with nanosecond precision 2015-03-18 13:42:56 +01:00
format1 format1: check for lvm1_system_id 2015-05-08 15:15:10 +02:00
format_pool cache: Store metadata size and checksum. 2015-03-18 23:43:02 +00:00
format_text metadata: Reject lvmetad metadata extensions when reading from disk. 2015-06-10 16:25:57 +02:00
freeseg segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
label cache: Store metadata size and checksum. 2015-03-18 23:43:02 +00:00
locking locking: rename LCK_CONVERT 2014-11-18 16:50:49 +01:00
log new debug class for lvmpolld client code 2015-05-12 17:16:37 +02:00
lvmpolld lvmpolld-client.c: debug print when querying progress 2015-05-21 11:20:21 +02:00
metadata lv_refresh: move the bulk of the function into lib 2015-06-16 13:38:40 -05:00
mirror cmirror: Adjust region size to work around CPG msg limit to avoid hang. 2015-02-25 14:42:15 -06:00
misc Add a global get_cmd_name() 2015-06-16 15:13:10 -05:00
mm xlate: add new variants 2015-06-16 09:30:14 -05:00
properties lvm2app: Correct missing string properties 2015-05-06 08:51:04 -05: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 lvm2app: Add signed numerical property values 2015-05-06 08:51:04 -05: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: add lv_is_error_when_full() macro 2015-01-20 14:52:06 +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 lvmpolld: Add standalone polldaemon. 2015-05-09 00:59:18 +01:00