mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-18 10:04:20 +03:00
Store transaction_id with created thin lv
So we know the creation history and this should be useful with vgcfgrestore.
This commit is contained in:
parent
4d925f5785
commit
f0c9160df4
@ -253,8 +253,11 @@ struct lv_segment *alloc_lv_segment(struct dm_pool *mem,
|
||||
dm_list_init(&seg->tags);
|
||||
dm_list_init(&seg->thin_messages);
|
||||
|
||||
if (thin_pool_lv && !attach_pool_lv(seg, thin_pool_lv))
|
||||
return_NULL;
|
||||
if (thin_pool_lv) {
|
||||
seg->transaction_id = first_seg(thin_pool_lv)->transaction_id;
|
||||
if (!attach_pool_lv(seg, thin_pool_lv))
|
||||
return_NULL;
|
||||
}
|
||||
|
||||
if (log_lv && !attach_mirror_log(seg, log_lv))
|
||||
return_NULL;
|
||||
|
@ -343,7 +343,7 @@ struct lv_segment {
|
||||
struct lv_segment_area *areas;
|
||||
struct lv_segment_area *meta_areas; /* For RAID */
|
||||
struct logical_volume *pool_metadata_lv;/* For thin_pool */
|
||||
uint64_t transaction_id; /* For thin_pool */
|
||||
uint64_t transaction_id; /* For thin_pool, thin */
|
||||
uint64_t low_water_mark; /* For thin_pool */
|
||||
uint32_t data_block_size; /* For thin_pool, 128..2097152 */
|
||||
unsigned zero_new_blocks; /* For thin_pool */
|
||||
|
@ -310,6 +310,9 @@ static int _thin_text_import(struct lv_segment *seg,
|
||||
if (!attach_pool_lv(seg, pool_lv))
|
||||
return_0;
|
||||
|
||||
if (!dm_config_get_uint64(sn, "transaction_id", &seg->transaction_id))
|
||||
return SEG_LOG_ERROR("Could not read transaction_id for");
|
||||
|
||||
if (dm_config_has_node(sn, "origin")) {
|
||||
if (!dm_config_get_str(sn, "origin", &lv_name))
|
||||
return SEG_LOG_ERROR("Origin must be a string in");
|
||||
@ -331,6 +334,7 @@ static int _thin_text_import(struct lv_segment *seg,
|
||||
static int _thin_text_export(const struct lv_segment *seg, struct formatter *f)
|
||||
{
|
||||
outf(f, "thin_pool = \"%s\"", seg->pool_lv->name);
|
||||
outf(f, "transaction_id = %" PRIu64, seg->transaction_id);
|
||||
outf(f, "device_id = %d", seg->device_id);
|
||||
|
||||
if (seg->origin)
|
||||
|
Loading…
x
Reference in New Issue
Block a user