if(callbacks == FALSE) { call_options |= cib_inhibit_notify;
crm_malloc(fsa_input, sizeof(ha_msg_input_t));  fsa_input->msg = msg; fsa_input->xml = msg_data;  ha_msg_add(msg, F_CRM_TASK,     CRM_OP_CIB_UPDATE); ha_msg_add(msg, F_CRM_SYS_TO,   CRM_SYSTEM_CIB); ha_msg_add(msg, F_CRM_SYS_FROM, CRM_SYSTEM_CRMD); ha_msg_add(msg, F_CIB_SECTION,  xmlGetProp(msg_data, XML_ATTR_SECTION)); ha_msg_add_int(msg, F_CIB_CALLOPTS, call_options);  if(do_now == FALSE) { crm_debug("Registering event with FSA"); register_fsa_input_adv(C_FSA_INTERNAL, I_CIB_OP, fsa_input, 0, FALSE, raised_from); } else { crm_debug("Invoking CIB handler directly"); fsa_data_t *op_data = NULL; crm_malloc(op_data, sizeof(fsa_data_t));  op_data->fsa_cause	= C_FSA_INTERNAL; op_data->fsa_input	= I_CIB_OP; op_data->where		= raised_from; op_data->data		= fsa_input; op_data->data_type	= fsa_dt_ha_msg;  do_cib_invoke(A_CIB_INVOKE_LOCAL, C_FSA_INTERNAL, fsa_state, I_CIB_OP, op_data);  crm_free(op_data); crm_debug("CIB handler completed");
update_local_cib(xmlNodePtr msg_data, gboolean callbacks){	enum crmd_fsa_input result = I_NULL;	enum cib_errors rc = cib_ok;		const char *section = xmlGetProp(msg_data, XML_ATTR_SECTION);	int call_options = cib_scope_local|cib_sync_call;		if(callbacks == FALSE) {		call_options |= cib_inhibit_notify;	}		rc = fsa_cib_conn->cmds->modify(		fsa_cib_conn, section, msg_data, NULL, call_options);		if(rc != cib_ok) {		crm_err("Resource state update failed: %s",			cib_error2string(result));		result = I_FAIL;	}	return result;}