diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2016-12-17 22:40:59 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2016-12-18 19:29:08 +0100 |
commit | 954c59779d35436a6d2f28482ec1ed6dc128844c (patch) | |
tree | a6aee5b7cec5e6a323634872b80c75eb55b4a1d2 | |
parent | 29b0e42be3026a11c86fc05f82f6a14e71d26cc8 (diff) | |
download | lvm2-954c59779d35436a6d2f28482ec1ed6dc128844c.tar.gz |
libdm: drop callback on revert path
The system is likely in some very inconsisten state.
Do not try to make it even more problematic with trying
to invoke tools like thin_check via callback.
-rw-r--r-- | WHATS_NEW_DM | 1 | ||||
-rw-r--r-- | libdm/libdm-deptree.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index ab32bdba5..d57ddd792 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.138 - ===================================== + Do not try call callback when reverting activation on error path. Fix file mapping for extents with physically adjacent extents. Validation vsnprintf result in runtime translate of dm_log (1.02.136). Separate filemap extent allocation from region table. diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c index cf6a06ec3..c5226a707 100644 --- a/libdm/libdm-deptree.c +++ b/libdm/libdm-deptree.c @@ -2778,6 +2778,10 @@ static int _dm_tree_revert_activated(struct dm_tree_node *parent) dm_list_iterate_items_gen(child, &parent->activated, activated_list) { log_debug_activation("Reverting %s.", child->name); + if (child->callback) { + log_debug_activation("Dropping callback for %s.", child->name); + child->callback = NULL; + } if (!_deactivate_node(child->name, child->info.major, child->info.minor, &child->dtree->cookie, child->udev_flags, 0)) { log_error("Unable to deactivate %s (%" PRIu32 |