1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

moved the vnn_map initialisation out of the cmdline code

(This used to be ctdb commit 81492b840d608dc724d5a25ddef6eb0ce12b95fb)
This commit is contained in:
Andrew Tridgell 2007-05-10 07:55:46 +10:00
parent ba47b43c6b
commit a8f83423f4
3 changed files with 20 additions and 22 deletions

View File

@ -89,7 +89,7 @@ struct poptOption popt_ctdb_cmdline[] = {
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");
@ -156,26 +156,6 @@ struct ctdb_context *ctdb_cmdline_init(struct event_context *ev)
}
}
/* 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;
}

View File

@ -153,6 +153,25 @@ int ctdb_set_nlist(struct ctdb_context *ctdb, const char *nlist)
}
}
/* 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;
}

View File

@ -721,7 +721,6 @@ int ctdb_start(struct ctdb_context *ctdb)
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);