crm_debug("Incarnation %d will run on a differnt node to 0",
crm_devel("Incarnation %d will run on a differnt node to 0",
void incarnation_color(resource_t *rsc, GListPtr *colors){	int lpc = 0, lpc2 = 0, max_nodes = 0;	resource_t *child_0  = NULL;	resource_t *child_lh = NULL;	resource_t *child_rh = NULL;	incarnation_variant_data_t *incarnation_data = NULL;	get_incarnation_variant_data(incarnation_data, rsc);	child_0 = g_list_nth_data(incarnation_data->child_list, 0);	max_nodes = rsc->fns->num_allowed_nodes(rsc);	/* generate up to max_nodes * incarnation_node_max constraints */	lpc = 0;	crm_info("Distributing %d incarnations over %d nodes",		  incarnation_data->incarnation_max, max_nodes);	for(; lpc < max_nodes && lpc < incarnation_data->incarnation_max; lpc++) {		child_lh = child_0;		incarnation_data->active_incarnation++;		if(lpc != 0) {			child_rh = g_list_nth_data(incarnation_data->child_list, lpc);						crm_debug("Incarnation %d will run on a differnt node to 0",				  lpc);						rsc_dependancy_new("pe_incarnation_internal_must_not",					   pecs_must_not, child_lh, child_rh);		} else {			child_rh = child_0;		}				child_lh = child_rh;				for(lpc2 = 1; lpc2 < incarnation_data->incarnation_max_node; lpc2++) {			int offset = lpc + (lpc2 * max_nodes);			if(offset >= incarnation_data->incarnation_max) {				break;			}			crm_debug("Incarnation %d will run on the same node as %d",				  offset, lpc);			incarnation_data->active_incarnation++;			child_rh = g_list_nth_data(				incarnation_data->child_list, offset);			rsc_dependancy_new("pe_incarnation_internal_must",					   pecs_must, child_lh, child_rh);		}	}	slist_iter(		child_rsc, resource_t, incarnation_data->child_list, lpc,		if(lpc < incarnation_data->active_incarnation) {			crm_debug("Coloring Incarnation %d", lpc);			child_rsc->fns->color(child_rsc, colors);		} else {			/* TODO: assign "no color"?  Doesnt seem to need it */			crm_warn("Incarnation %d cannot be started", lpc);		} 		);	crm_info("%d Incarnations are active", incarnation_data->active_incarnation);}