diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2011-11-18 19:42:03 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2011-11-18 19:42:03 +0000 |
commit | 647c8edf82a1808fca8544e5b978f3157256f935 (patch) | |
tree | f4714c4dd61cbcd52a45843d7793c4ec79915a79 /lib/activate | |
parent | 749c2dc4abc344ccc3ce79415827878c218feb97 (diff) | |
download | lvm2-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.c | 11 |
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; |