summaryrefslogtreecommitdiff
path: root/lib/zero
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2005-11-08 22:52:26 +0000
committerAlasdair Kergon <agk@redhat.com>2005-11-08 22:52:26 +0000
commit5f4b2acfe538ce25b248b215f9abddf35ab18e98 (patch)
tree3a6a0aed1dd973e022895fdef07a15467a6bdbcf /lib/zero
parent165e4a112b9b9af6321cd2781a4a31f909825581 (diff)
downloadlvm2-5f4b2acfe538ce25b248b215f9abddf35ab18e98.tar.gz
Replacement activation code. [Don't use this yet!]
Diffstat (limited to 'lib/zero')
-rw-r--r--lib/zero/zero.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/lib/zero/zero.c b/lib/zero/zero.c
index f1439b607..6c3ccf064 100644
--- a/lib/zero/zero.c
+++ b/lib/zero/zero.c
@@ -38,18 +38,13 @@ static int _merge_segments(struct lv_segment *seg1, struct lv_segment *seg2)
}
#ifdef DEVMAPPER_SUPPORT
-static int _compose_target_line(struct dev_manager *dm, struct dm_pool *mem,
- struct config_tree *cft, void **target_state,
- struct lv_segment *seg, char *params,
- size_t paramsize, const char **target, int *pos,
- uint32_t *pvmove_mirror_count)
+static int _add_target_line(struct dev_manager *dm, struct dm_pool *mem,
+ struct config_tree *cft, void **target_state,
+ struct lv_segment *seg,
+ struct deptree_node *node, uint64_t len,
+ uint32_t *pvmove_mirror_count)
{
- /* zero */
-
- *target = "zero";
- *params = '\0';
-
- return 1;
+ return dm_deptree_node_add_zero_target(node, len);
}
static int _target_present(void)
@@ -58,7 +53,7 @@ static int _target_present(void)
static int present = 0;
if (!checked)
- present = target_present("zero");
+ present = target_present("zero", 0);
checked = 1;
return present;
@@ -74,7 +69,7 @@ static struct segtype_handler _zero_ops = {
name:_name,
merge_segments:_merge_segments,
#ifdef DEVMAPPER_SUPPORT
- compose_target_line:_compose_target_line,
+ add_target_line:_add_target_line,
target_present:_target_present,
#endif
destroy:_destroy,
@@ -93,7 +88,7 @@ struct segment_type *init_zero_segtype(struct cmd_context *cmd)
segtype->ops = &_zero_ops;
segtype->name = "zero";
segtype->private = NULL;
- segtype->flags = SEG_CAN_SPLIT | SEG_VIRTUAL;
+ segtype->flags = SEG_CAN_SPLIT | SEG_VIRTUAL | SEG_CANNOT_BE_ZEROED;
log_very_verbose("Initialised segtype: %s", segtype->name);