summaryrefslogtreecommitdiffstats
path: root/lib/activate
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2011-11-18 19:42:03 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2011-11-18 19:42:03 +0000
commit647c8edf82a1808fca8544e5b978f3157256f935 (patch)
treef4714c4dd61cbcd52a45843d7793c4ec79915a79 /lib/activate
parent749c2dc4abc344ccc3ce79415827878c218feb97 (diff)
downloadlvm2-647c8edf82a1808fca8544e5b978f3157256f935.tar.gz
lvm2-647c8edf82a1808fca8544e5b978f3157256f935.tar.xz
lvm2-647c8edf82a1808fca8544e5b978f3157256f935.zip
Drop pool memory allocated in lv_has_target_type
Remove FIXMES - there should not be any pool free call since the memory pool is from device manager, and pool is detroyed after the operation, so doing extra free here would not help here. However lv_has_target_type() is using cmd mempool so here the extra call for dm_pool_free makes sence.
Diffstat (limited to 'lib/activate')
-rw-r--r--lib/activate/dev_manager.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index 4f7e6acb..a89d681e 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -411,7 +411,7 @@ int lv_has_target_type(struct dm_pool *mem, struct logical_volume *lv,
if (!(dmt = _setup_task(NULL, dlid, 0,
DM_DEVICE_STATUS, 0, 0)))
- return_0;
+ goto_bad;
if (!dm_task_no_open_count(dmt))
log_error("Failed to disable open_count");
@@ -433,8 +433,11 @@ int lv_has_target_type(struct dm_pool *mem, struct logical_volume *lv,
}
} while (next);
- out:
+out:
dm_task_destroy(dmt);
+bad:
+ dm_pool_free(mem, dlid);
+
return r;
}
@@ -737,8 +740,6 @@ int dev_manager_snapshot_percent(struct dev_manager *dm,
NULL, fail_if_percent_unsupported)))
return_0;
- /* FIXME dm_pool_free ? */
-
/* If the snapshot isn't available, percent will be -1 */
return 1;
}
@@ -760,8 +761,6 @@ int dev_manager_mirror_percent(struct dev_manager *dm,
if (!(name = dm_build_dm_name(dm->mem, lv->vg->name, lv->name, layer)))
return_0;
- /* FIXME dm_pool_free ? */
-
if (!(dlid = build_dm_uuid(dm->mem, lv->lvid.s, layer))) {
log_error("dlid build failed for %s", lv->name);
return 0;