register_fsa_input(C_CRMD_STATUS_CALLBACK, I_CIB_OP, request); s_crmd_fsa(C_CRMD_STATUS_CALLBACK);
crmd_ha_status_callback(	const char *node, const char * status,	void* private_data){	xmlNodePtr update      = NULL;	xmlNodePtr fragment    = NULL;	xmlNodePtr msg_options = NULL;	xmlNodePtr request     = NULL;	crm_debug("received callback");	crm_notice("Status update: Node %s now has status [%s]\n",node,status);	if(AM_I_DC == FALSE) {		crm_debug("Got nstatus callback in non-DC mode");		return;			} else if(safe_str_neq(status, DEADSTATUS)) {		crm_debug("nstatus callback was not for a dead node");		return;	}	/* this node is taost */	update = create_node_state(		node, node, status, NULL, NULL, NULL, NULL);		set_xml_property_copy(		update, XML_CIB_ATTR_CLEAR_SHUTDOWN, XML_BOOLEAN_TRUE);		fragment = create_cib_fragment(update, NULL);		msg_options = set_xml_attr(		NULL, XML_TAG_OPTIONS, XML_ATTR_OP, CRM_OP_UPDATE, TRUE);		request = create_request(		msg_options, fragment, NULL,		CRM_SYSTEM_DCIB, CRM_SYSTEM_DC, NULL, NULL);		crm_xml_debug(fragment, "Node status update");		free_xml(fragment);	free_xml(update);		register_fsa_input(C_CRMD_STATUS_CALLBACK, I_CIB_OP, request);	s_crmd_fsa(C_CRMD_STATUS_CALLBACK);	}