mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
cachevol: add dm uuid suffixes to hidden lvs
to indicate they are private lvm devs
This commit is contained in:
parent
d2c065789c
commit
515e37b6dd
@ -46,7 +46,7 @@ typedef enum {
|
|||||||
} action_t;
|
} action_t;
|
||||||
|
|
||||||
/* This list must match lib/misc/lvm-string.c:build_dm_uuid(). */
|
/* This list must match lib/misc/lvm-string.c:build_dm_uuid(). */
|
||||||
const char *uuid_suffix_list[] = { "pool", "cdata", "cmeta", "tdata", "tmeta", "vdata", "vpool", NULL};
|
const char *uuid_suffix_list[] = { "pool", "cdata", "cmeta", "tdata", "tmeta", "vdata", "vpool", "cvol", NULL};
|
||||||
|
|
||||||
struct dlid_list {
|
struct dlid_list {
|
||||||
struct dm_list list;
|
struct dm_list list;
|
||||||
@ -859,9 +859,9 @@ int get_cache_vol_meta_data(struct cmd_context *cmd,
|
|||||||
memcpy(&lvid_data.id[0], &lv->vg->id, sizeof(struct id));
|
memcpy(&lvid_data.id[0], &lv->vg->id, sizeof(struct id));
|
||||||
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
||||||
|
|
||||||
if (!(dlid_meta = dm_build_dm_uuid(cmd->mem, UUID_PREFIX, (const char *)&lvid_meta.s, NULL)))
|
if (!(dlid_meta = dm_build_dm_uuid(cmd->mem, UUID_PREFIX, (const char *)&lvid_meta.s, "cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(dlid_data = dm_build_dm_uuid(cmd->mem, UUID_PREFIX, (const char *)&lvid_data.s, NULL)))
|
if (!(dlid_data = dm_build_dm_uuid(cmd->mem, UUID_PREFIX, (const char *)&lvid_data.s, "cdata")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(name_meta = dm_build_dm_name(cmd->mem, lv->vg->name, pool_lv->name, "_cmeta")))
|
if (!(name_meta = dm_build_dm_name(cmd->mem, lv->vg->name, pool_lv->name, "_cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
@ -2500,9 +2500,9 @@ static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
|||||||
memcpy(&lvid_data.id[0], &lv->vg->id, sizeof(struct id));
|
memcpy(&lvid_data.id[0], &lv->vg->id, sizeof(struct id));
|
||||||
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
||||||
|
|
||||||
if (!(dlid_meta = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_meta.s, NULL)))
|
if (!(dlid_meta = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_meta.s, "cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(dlid_data = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_data.s, NULL)))
|
if (!(dlid_data = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_data.s, "cdata")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(name_meta = dm_build_dm_name(dm->mem, lv->vg->name, pool_lv->name, "_cmeta")))
|
if (!(name_meta = dm_build_dm_name(dm->mem, lv->vg->name, pool_lv->name, "_cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
@ -3242,9 +3242,9 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
|||||||
memcpy(&lvid_data.id[0], &vg->id, sizeof(struct id));
|
memcpy(&lvid_data.id[0], &vg->id, sizeof(struct id));
|
||||||
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
memcpy(&lvid_data.id[1], &lvseg->data_id, sizeof(struct id));
|
||||||
|
|
||||||
if (!(dlid_meta = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_meta.s, NULL)))
|
if (!(dlid_meta = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_meta.s, "cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(dlid_data = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_data.s, NULL)))
|
if (!(dlid_data = dm_build_dm_uuid(dm->mem, UUID_PREFIX, (const char *)&lvid_data.s, "cdata")))
|
||||||
return_0;
|
return_0;
|
||||||
|
|
||||||
if (!(name_meta = dm_build_dm_name(dm->mem, vg->name, pool_lv->name, "_cmeta")))
|
if (!(name_meta = dm_build_dm_name(dm->mem, vg->name, pool_lv->name, "_cmeta")))
|
||||||
|
@ -699,9 +699,9 @@ static int _cache_add_target_line(struct dev_manager *dm,
|
|||||||
memcpy(&data_lvid.id[0], &seg->lv->vg->id, sizeof(struct id));
|
memcpy(&data_lvid.id[0], &seg->lv->vg->id, sizeof(struct id));
|
||||||
memcpy(&data_lvid.id[1], &seg->data_id, sizeof(struct id));
|
memcpy(&data_lvid.id[1], &seg->data_id, sizeof(struct id));
|
||||||
|
|
||||||
if (!(metadata_uuid = dm_build_dm_uuid(mem, UUID_PREFIX, (const char *)&metadata_lvid.s, NULL)))
|
if (!(metadata_uuid = dm_build_dm_uuid(mem, UUID_PREFIX, (const char *)&metadata_lvid.s, "cmeta")))
|
||||||
return_0;
|
return_0;
|
||||||
if (!(data_uuid = dm_build_dm_uuid(mem, UUID_PREFIX, (const char *)&data_lvid.s, NULL)))
|
if (!(data_uuid = dm_build_dm_uuid(mem, UUID_PREFIX, (const char *)&data_lvid.s, "cdata")))
|
||||||
return_0;
|
return_0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,6 +157,7 @@ static const char *_lvname_has_reserved_component_string(const char *lvname)
|
|||||||
"_cdata",
|
"_cdata",
|
||||||
"_cmeta",
|
"_cmeta",
|
||||||
"_corig",
|
"_corig",
|
||||||
|
"_cvol",
|
||||||
"_mimage",
|
"_mimage",
|
||||||
"_mlog",
|
"_mlog",
|
||||||
"_rimage",
|
"_rimage",
|
||||||
@ -251,6 +252,7 @@ char *build_dm_uuid(struct dm_pool *mem, const struct logical_volume *lv,
|
|||||||
(lv_is_cache(lv) && lv_is_pending_delete(lv)) ? "real" :
|
(lv_is_cache(lv) && lv_is_pending_delete(lv)) ? "real" :
|
||||||
lv_is_cache_pool_data(lv) ? "cdata" :
|
lv_is_cache_pool_data(lv) ? "cdata" :
|
||||||
lv_is_cache_pool_metadata(lv) ? "cmeta" :
|
lv_is_cache_pool_metadata(lv) ? "cmeta" :
|
||||||
|
lv_is_cache_vol(lv) ? "cvol" :
|
||||||
// FIXME: dm-tree needs fixes for mirrors/raids
|
// FIXME: dm-tree needs fixes for mirrors/raids
|
||||||
//lv_is_mirror_image(lv) ? "mimage" :
|
//lv_is_mirror_image(lv) ? "mimage" :
|
||||||
//lv_is_mirror_log(lv) ? "mlog" :
|
//lv_is_mirror_log(lv) ? "mlog" :
|
||||||
|
Loading…
Reference in New Issue
Block a user