1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-10 16:58:47 +03:00

thin - hide unimplemented dso fn; remove duplicate origin_lv field; add

some lvcreate struct parms
This commit is contained in:
Alasdair Kergon 2011-08-26 17:40:53 +00:00
parent e82bd6249b
commit 42914557d5
2 changed files with 9 additions and 7 deletions

View File

@ -305,7 +305,7 @@ struct lv_segment {
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 */
@ -323,7 +323,6 @@ struct lv_segment {
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 */
@ -547,6 +546,8 @@ typedef enum {
struct lvcreate_params {
/* flags */
int snapshot; /* snap */
int thin; /* thin */
int create_thin_pool; /* thin */
int zero; /* all */
int major; /* all */
int minor; /* all */
@ -556,6 +557,7 @@ struct lvcreate_params {
activation_change_t activate; /* non-snapshot, non-mirror */
char *origin; /* snap */
char *pool; /* thin */
const char *vg_name; /* all */
const char *lv_name; /* all */

View File

@ -107,7 +107,7 @@ static int _thin_text_import(struct lv_segment *seg, const struct config_node *s
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);
}
@ -123,8 +123,8 @@ static int _thin_text_export(const struct lv_segment *seg, struct formatter *f)
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;
}
@ -229,8 +229,8 @@ int init_multiple_segtypes(struct cmd_context *cmd, struct segtype_library *segl
#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))