ha_msg_addstruct(replace_request, F_CIB_CALLDATA, sync_data);
add_message_xml(replace_request, F_CIB_CALLDATA, sync_data);
sync_our_cib(HA_Message *request, gboolean all) {	enum cib_errors result      = cib_ok;	const char *host            = cl_get_string(request, F_ORIG);	const char *op              = cl_get_string(request, F_CIB_OPERATION);	crm_data_t *sync_data       = create_cib_fragment(the_cib,XML_TAG_CIB);	HA_Message *replace_request = cib_msg_copy(request, FALSE);		CRM_DEV_ASSERT(sync_data != NULL);	CRM_DEV_ASSERT(replace_request != NULL);		crm_info("Syncing CIB to %s", all?"all peers":host);	if(all == FALSE && host == NULL) {		crm_log_message(LOG_ERR, request);	}		/* remove the all == FALSE condition	 *	 * sync_from was failing, the local client wasnt being notified	 *    because it didnt know it was a reply	 * setting this does not prevent the other nodes from applying it	 *    if all == TRUE	 */	if(host != NULL) {		ha_msg_add(replace_request, F_CIB_ISREPLY, host);	}	ha_msg_mod(replace_request, F_CIB_OPERATION, CIB_OP_REPLACE);	ha_msg_add(replace_request, "original_"F_CIB_OPERATION, op);	ha_msg_add(replace_request, F_CIB_GLOBAL_UPDATE, XML_BOOLEAN_TRUE);	ha_msg_addstruct(replace_request, F_CIB_CALLDATA, sync_data);		if(send_ha_message(hb_conn, replace_request, all?NULL:host, FALSE) == FALSE) {		result = cib_not_connected;	}	ha_msg_del(replace_request);	free_xml(sync_data);	return result;}