mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
Revert "tree_action: destroy devices from failing activation"
This reverts commit 24639be558a9d4561a34f2b76485b227aed8e9c3. Ok - seems we could be here a bit too active - and we may remove devices which are unsuable for reasons we are not aware of - thus taking down whole device could be way to big hammer. So we still need some solution to recover from failing preload and activation - but it needs more tunning.
This commit is contained in:
parent
3652083f38
commit
c3d82d717c
@ -1,6 +1,5 @@
|
||||
Version 2.02.105 -
|
||||
=====================================
|
||||
Try to remove any unusable devices from dm table when activation fails.
|
||||
Dependency scan counts with snapshots and external origins.
|
||||
Make sure VG extent size is always greater or equal to PV phys. block size.
|
||||
Optimize double call of stat() for cached devices.
|
||||
|
@ -2754,21 +2754,15 @@ static int _tree_action(struct dev_manager *dm, struct logical_volume *lv,
|
||||
goto_out;
|
||||
|
||||
/* Preload any devices required before any suspensions */
|
||||
if (!dm_tree_preload_children(root, dlid, DLID_SIZE)) {
|
||||
bad:
|
||||
if (!dm_tree_deactivate_children(root, dlid, DLID_SIZE))
|
||||
stack;
|
||||
if (!_remove_lv_symlinks(dm, root))
|
||||
log_warn("Failed to remove all device symlinks associated with %s.", lv->name);
|
||||
if (!dm_tree_preload_children(root, dlid, DLID_SIZE))
|
||||
goto_out;
|
||||
}
|
||||
|
||||
if (dm_tree_node_size_changed(root))
|
||||
dm->flush_required = 1;
|
||||
|
||||
if (action == ACTIVATE) {
|
||||
if (!dm_tree_activate_children(root, dlid, DLID_SIZE))
|
||||
goto_bad;
|
||||
goto_out;
|
||||
if (!_create_lv_symlinks(dm, root))
|
||||
log_warn("Failed to create symlinks for %s.", lv->name);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user