1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-28 03:27:58 +03:00

report: proper lv_attr_dup emulation

We need to create a mempool for proper emulation of lv_attr_dup
for lvm2api.
This commit is contained in:
Zdenek Kabelac 2015-01-20 16:24:45 +01:00
parent 158e998876
commit 87e80b6aac

View File

@ -827,14 +827,23 @@ out:
/* backward compatible internal API for lvm2api, TODO improve it */
char *lv_attr_dup(struct dm_pool *mem, const struct logical_volume *lv)
{
char *ret = NULL;
struct lv_with_info_and_seg_status status = {
.seg_status.type = SEG_STATUS_NONE
.seg_status.type = SEG_STATUS_NONE,
.lv = lv
};
if (!lv_info_with_seg_status(lv->vg->cmd, lv, first_seg(lv), 1, &status, 1, 1))
return_NULL;
if (!(status.seg_status.mem = dm_pool_create("reporter_pool", 1024)))
return_0;
return lv_attr_dup_with_info_and_seg_status(mem, &status);
if (!lv_info_with_seg_status(lv->vg->cmd, lv, first_seg(lv), 1, &status, 1, 1))
goto_bad;
ret = lv_attr_dup_with_info_and_seg_status(mem, &status);
bad:
dm_pool_destroy(status.seg_status.mem);
return ret;
}
int lv_set_creation(struct logical_volume *lv,