diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c index b6dcfa37f..bbd2b9f84 100644 --- a/libdm/libdm-deptree.c +++ b/libdm/libdm-deptree.c @@ -1590,16 +1590,12 @@ static int _dm_tree_deactivate_children(struct dm_tree_node *dnode, if (child->callback && !child->callback(child, DM_NODE_CALLBACK_DEACTIVATED, - child->callback_data)) { - r = 0; - // FIXME: break tree shutdown or continue? - // hmm what about _node_clear_table()? - } + child->callback_data)) + r = 0; // FIXME: _node_clear_table() without callback ? - if (dm_tree_node_num_children(child, 0)) { - if (!_dm_tree_deactivate_children(child, uuid_prefix, uuid_prefix_len, level + 1)) - return_0; - } + if (dm_tree_node_num_children(child, 0) && + !_dm_tree_deactivate_children(child, uuid_prefix, uuid_prefix_len, level + 1)) + return_0; } return r;