struct ctdb_context *ctdb_cmdline_init(struct event_context *ev)
{
struct ctdb_context *ctdb;
- int i, ret;
+ int ret;
if (ctdb_cmdline.nlist == NULL) {
printf("You must provide a node list with --nlist\n");
}
}
- /* initialize the vnn mapping table */
-/*
-XXX we currently initialize it to the maximum number of nodes to
-XXX make it behave the same way as previously.
-XXX Once we have recovery working we should initialize this always to
-XXX generation==0 (==invalid) and let the recovery tool populate this
-XXX table for the daemons.
-*/
- ctdb->vnn_map = talloc_zero_size(ctdb, offsetof(struct ctdb_vnn_map, map) + 4*ctdb->num_nodes);
- if (ctdb->vnn_map == NULL) {
- DEBUG(0,(__location__ " Unable to allocate vnn_map structure\n"));
- exit(1);
- }
- ctdb->vnn_map->generation = 1;
- ctdb->vnn_map->size = ctdb->num_nodes;
- for(i=0;i<ctdb->vnn_map->size;i++){
- ctdb->vnn_map->map[i] = i%ctdb->num_nodes;
- }
-
-
return ctdb;
}
return -1;
}
}
+
+ /* initialize the vnn mapping table now that we have num_nodes setup */
+/*
+XXX we currently initialize it to the maximum number of nodes to
+XXX make it behave the same way as previously.
+XXX Once we have recovery working we should initialize this always to
+XXX generation==0 (==invalid) and let the recovery tool populate this
+XXX table for the daemons.
+*/
+ ctdb->vnn_map = talloc_zero_size(ctdb, offsetof(struct ctdb_vnn_map, map) + 4*ctdb->num_nodes);
+ if (ctdb->vnn_map == NULL) {
+ DEBUG(0,(__location__ " Unable to allocate vnn_map structure\n"));
+ exit(1);
+ }
+ ctdb->vnn_map->generation = 1;
+ ctdb->vnn_map->size = ctdb->num_nodes;
+ for(i=0;i<ctdb->vnn_map->size;i++){
+ ctdb->vnn_map->map[i] = i%ctdb->num_nodes;
+ }
talloc_free(lines);
return 0;
close(fd[1]);
-
ctdb->ev = event_context_init(NULL);
fde = event_add_fd(ctdb->ev, ctdb, fd[0], EVENT_FD_READ|EVENT_FD_AUTOCLOSE, ctdb_read_from_parent, &fd[0]);
fde = event_add_fd(ctdb->ev, ctdb, ctdb->daemon.sd, EVENT_FD_READ|EVENT_FD_AUTOCLOSE, ctdb_accept_client, ctdb);