diff options
author | Peter Rajnoha <prajnoha@redhat.com> | 2012-08-27 14:19:30 +0200 |
---|---|---|
committer | Peter Rajnoha <prajnoha@redhat.com> | 2012-08-27 14:33:54 +0200 |
commit | 847e2856a29c41756cc5bbaf70eb87ea030826f4 (patch) | |
tree | a82ac80008113d42162368d406312040cedc10f3 /libdm | |
parent | 2a70e98b05603bf8fc59929fd2709fb5d2b859e6 (diff) | |
download | lvm2-847e2856a29c41756cc5bbaf70eb87ea030826f4.tar.gz lvm2-847e2856a29c41756cc5bbaf70eb87ea030826f4.tar.xz lvm2-847e2856a29c41756cc5bbaf70eb87ea030826f4.zip |
config: require dm_config_create_value for dm_config_node's value
If we were defining a section (which is a node without a value) and
the value was created automatically on dm_config_create_node call,
we were wasting resources as the next step after creating the config
node itself was assigning NULL for the node's value.
The dm_config_node_create + dm_config_create_value sequence should be
used instead for settings and dm_config_node_create alone for sections.
The majority of the code already used the correct sequence. Though
with dm_config_node_create fn creating the value as well, the pool
memory was being trashed this way.
This patch removes the node value initialization on dm_config_create_node
fn call and keeps it for the direct dm_config_create_value fn call.
Diffstat (limited to 'libdm')
-rw-r--r-- | libdm/libdm-config.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libdm/libdm-config.c b/libdm/libdm-config.c index f8c09547..c19f51d7 100644 --- a/libdm/libdm-config.c +++ b/libdm/libdm-config.c @@ -1169,14 +1169,9 @@ struct dm_config_node *dm_config_create_node(struct dm_config_tree *cft, const c log_error("Failed to create config node's key."); return NULL; } - if (!(cn->v = _create_value(cft->mem))) { - log_error("Failed to create config node's value."); - return NULL; - } cn->parent = NULL; - cn->v->type = DM_CFG_INT; - cn->v->v.i = 0; - cn->v->next = NULL; + cn->v = NULL; + return cn; } |