1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

libdm: preload propagates delayed resume

Propagate delayed resume at least for preload case in a simple way.
Currently  PVMOVE depends on internal logic where 'mirror' with
corelog is 'possible' PVMOVE. In such case resume of 'created'
node is 'delayed'.

This is mostly an ugly internal hack - but for the moment being when we
add propagation for preload - it does work reasonable.

TODO: provide standard API and avoid this internal 'guessing'.
This commit is contained in:
Zdenek Kabelac 2017-11-24 13:57:22 +01:00
parent b5be7420d9
commit aa68b898ff
2 changed files with 5 additions and 0 deletions

View File

@ -1,5 +1,6 @@
Version 1.02.146 - Version 1.02.146 -
==================================== ====================================
Propagate delayed resume for pvmove subvolumes.
Suppress integrity encryption keys in 'table' output unless --showkeys supplied. Suppress integrity encryption keys in 'table' output unless --showkeys supplied.
Version 1.02.145 - 3rd November 2017 Version 1.02.145 - 3rd November 2017

View File

@ -2962,6 +2962,10 @@ int dm_tree_preload_children(struct dm_tree_node *dnode,
/* Preload children first */ /* Preload children first */
while ((child = dm_tree_next_child(&handle, dnode, 0))) { while ((child = dm_tree_next_child(&handle, dnode, 0))) {
/* Propagate delay of resume from parent node */
if (dnode->props.delay_resume_if_new)
child->props.delay_resume_if_new = 1;
/* Skip existing non-device-mapper devices */ /* Skip existing non-device-mapper devices */
if (!child->info.exists && child->info.major) if (!child->info.exists && child->info.major)
continue; continue;