[lvm-devel] master - libdm: call preload callback only when success
Zdenek Kabelac
zkabelac at fedoraproject.org
Mon Feb 24 20:16:55 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=1911c61639164296d953eef6f1476a040648d5ec
Commit: 1911c61639164296d953eef6f1476a040648d5ec
Parent: c132fc3ff6d031c136528ef00ecfbed417dae941
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Sun Feb 23 23:10:36 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Feb 24 21:01:13 2014 +0100
libdm: call preload callback only when success
Do not call node's preload callback, if there is
any failure during preload.
---
WHATS_NEW_DM | 1 +
libdm/libdm-deptree.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index a0b8066..072d21e 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,6 @@
Version 1.02.85 -
===================================
+ Do not call callback when preload fails.
Wrap is_selinux_enabled() to be called just once.
Use correctly signed 64b constant when working with raid volumes.
Exit dmeventd with pidfile cleanup instead of raising SIGKILL on DIE request.
diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
index 8592cdb..7fcc7ed 100644
--- a/libdm/libdm-deptree.c
+++ b/libdm/libdm-deptree.c
@@ -2724,12 +2724,12 @@ int dm_tree_preload_children(struct dm_tree_node *dnode,
}
if (update_devs_flag ||
- (!dnode->info.exists && dnode->callback)) {
+ (r && !dnode->info.exists && dnode->callback)) {
if (!dm_udev_wait(dm_tree_get_cookie(dnode)))
stack;
dm_tree_set_cookie(dnode, 0);
- if (!dnode->info.exists && dnode->callback &&
+ if (r && !dnode->info.exists && dnode->callback &&
!dnode->callback(dnode, DM_NODE_CALLBACK_PRELOADED,
dnode->callback_data))
{
More information about the lvm-devel
mailing list