uint32_t area_count;
uint32_t area_len;
uint32_t chunk_size; /* For snapshots - in sectors */
- struct logical_volume *origin;
+ struct logical_volume *origin; /* snap and thin */
struct logical_volume *cow;
struct dm_list origin_list;
uint32_t region_size; /* For mirrors, replicators - in sectors */
uint64_t transaction_id; /* For thin_pool */
uint32_t zero_new_blocks; /* For thin_pool */
struct logical_volume *thin_pool_lv; /* For thin */
- struct logical_volume *origin_lv; /* For thin */
uint64_t device_id; /* For thin */
struct logical_volume *replicator;/* For replicator-devs - link to replicator LV */
struct lvcreate_params {
/* flags */
int snapshot; /* snap */
+ int thin; /* thin */
+ int create_thin_pool; /* thin */
int zero; /* all */
int major; /* all */
int minor; /* all */
activation_change_t activate; /* non-snapshot, non-mirror */
char *origin; /* snap */
+ char *pool; /* thin */
const char *vg_name; /* all */
const char *lv_name; /* all */
if (!cn->v || cn->v->type != CFG_STRING)
return SEG_LOG_ERROR("Thin pool origin must be a string in");
- if (!(seg->origin_lv = find_lv(seg->lv->vg, cn->v->v.str)))
+ if (!(seg->origin = find_lv(seg->lv->vg, cn->v->v.str)))
return SEG_LOG_ERROR("Unknown origin %s in",
cn->v->v.str);
}
outf(f, "thin_pool = \"%s\"", seg->thin_pool_lv->name);
outf(f, "device_id = %" PRIu64, seg->device_id);
- if (seg->origin_lv)
- outf(f, "origin = \"%s\"", seg->origin_lv->name);
+ if (seg->origin)
+ outf(f, "origin = \"%s\"", seg->origin->name);
return 1;
}
#ifdef DEVMAPPER_SUPPORT
# ifdef DMEVENTD
- if (_get_thin_dso_path(cmd))
- segtype->flags |= SEG_MONITORED;
+// FIXME if (_get_thin_dso_path(cmd))
+// FIXME segtype->flags |= SEG_MONITORED;
# endif /* DMEVENTD */
#endif
if (!lvm_register_segtype(seglib, segtype))