crm_err("Warning, do_dc_release invoked for action %s", fsa_action2string(action));
crm_err("Unknown action %s", fsa_action2string(action));
do_dc_release(long long action,	      enum crmd_fsa_cause cause,	      enum crmd_fsa_state cur_state,	      enum crmd_fsa_input current_input,	      fsa_data_t *msg_data){	enum crmd_fsa_input result = I_NULL;	crm_debug_4("################## Releasing the DC ##################");	crm_timer_stop(dc_heartbeat);	if(action & A_DC_RELEASE) {		clear_bit_inplace(fsa_input_register, R_THE_DC);			} else if (action & A_DC_RELEASED) {		fsa_cib_conn->cmds->set_slave(fsa_cib_conn, cib_scope_local);		if(cur_state == S_STOPPING) {			register_fsa_input(C_FSA_INTERNAL, I_RELEASE_SUCCESS, NULL);		}#if 0		else if( are there errors ) {			/* we cant stay up if not healthy */			/* or perhaps I_ERROR and go to S_RECOVER? */			result = I_SHUTDOWN;		}#endif		else {			register_fsa_input(C_FSA_INTERNAL, I_RELEASE_SUCCESS, NULL);		}			} else {		crm_err("Warning, do_dc_release invoked for action %s",		       fsa_action2string(action));	}	crm_debug_2("Am I still the DC? %s", AM_I_DC?XML_BOOLEAN_YES:XML_BOOLEAN_NO);	return result;}