]> sourceware.org Git - lvm2.git/commitdiff
Revert "tree_action: destroy devices from failing activation"
authorZdenek Kabelac <zkabelac@redhat.com>
Tue, 17 Dec 2013 14:17:44 +0000 (15:17 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Tue, 17 Dec 2013 14:21:28 +0000 (15:21 +0100)
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.

WHATS_NEW
lib/activate/dev_manager.c

index 59820b2937147b1826fec0ff7d422ec71648148e..a7522f9effe52936b3dbe0a6acd336298a1e58a9 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -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.
index a4147d35cdf4ea2072536edbfa7cd98bcba78460..7b0b6e291919ef62e2e8d4f20f35588c2ddcdf02 100644 (file)
@@ -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);
                }
This page took 0.057125 seconds and 5 git commands to generate.