%clean
rm -rf %{buildroot}
-%description
+%description
This package contains the Corosync Cluster Engine Executive, several default
APIs and libraries, default configuration files, and an init script.
%postun
[ "$1" -ge "1" ] && /sbin/service corosync condrestart &>/dev/null || :
-%files
+%files
%defattr(-,root,root,-)
%doc LICENSE SECURITY
%{_sbindir}/corosync
unsigned int nodeid,
unsigned int service,
unsigned int fn_id,
- const void *msg,
+ const void *msg,
unsigned int endian_conversion_required);
static struct sync_callbacks clm_sync_operations = {
unsigned int nodeid,
unsigned int service,
unsigned int fn_id,
- const void *msg,
+ const void *msg,
unsigned int endian_conversion_required)
{
if (service == EVT_SERVICE) {
nodeid,
service,
fn_id,
- msg,
+ msg,
endian_conversion_required);
}
}
-
+
/*
* This sends the clm nodejoin message required by clm services
* on whitetank as well as the event service
int mib[2] = { CTL_KERN, KERN_BOOTTIME };
struct timeval boot_time;
size_t size = sizeof(boot_time);
-
+
if ( sysctl(mib, 2, &boot_time, &size, NULL, 0) == -1 )
boot_time.tv_sec = time (NULL);
/* (currenttime (s) - uptime (s)) * 1 billion (ns) / 1 (s) */
my_cluster_node_load ();
req_exec_clm_nodejoin.header.size = sizeof (struct req_exec_clm_nodejoin);
- req_exec_clm_nodejoin.header.id =
+ req_exec_clm_nodejoin.header.id =
SERVICE_ID_MAKE (CLM_SERVICE, MESSAGE_REQ_EXEC_CLM_NODEJOIN);
my_cluster_node.initial_view_number = 0;
memcpy (&req_exec_clm_nodejoin.cluster_node, &my_cluster_node,
sizeof (mar_clm_cluster_node_t));
-
+
req_exec_clm_iovec.iov_base = (char *)&req_exec_clm_nodejoin;
req_exec_clm_iovec.iov_len = sizeof (req_exec_clm_nodejoin);
{
my_member_list_entries = member_list_entries;
my_evt_checked_in = 0;
-
+
evt_sync_state = EVT_SYNC_PART_ONE;
return;
}
unsigned int nodeid,
unsigned int service,
unsigned int fn_id,
- const void *msg,
+ const void *msg,
unsigned int endian_conversion_required)
{
const struct req_evt_chan_command *cpkt = msg;
} else {
/*
* Turn on SCHED_RR in ipc system
- */
+ */
ipc_init_state.sched_policy = SCHED_RR;
}
} else {
if (strcmp (value, "none") == 0) {
*minimum_sync_mode = CS_SYNC_V2;
} else {
-
+
snprintf (error_string_response, sizeof (error_string_response),
"Invalid compatibility option '%s' specified, must be none or whitetank.\n", value);
goto parse_error;
PROCESS,
ACTIVATE
};
-
+
enum sync_state {
SYNC_SERVICELIST_BUILD,
SYNC_PROCESS,
return;
}
for (i = 0; i < req_exec_service_build_message->service_list_entries; i++) {
-
+
found = 0;
for (j = 0; j < my_service_list_entries; j++) {
if (req_exec_service_build_message->service_list[i] ==
}
}
if (found == 0) {
- my_service_list[my_service_list_entries].state =
+ my_service_list[my_service_list_entries].state =
INIT;
- my_service_list[my_service_list_entries].service_id =
+ my_service_list[my_service_list_entries].service_id =
req_exec_service_build_message->service_list[i];
sprintf (my_service_list[my_service_list_entries].name,
- "External Service (id = %d)\n",
+ "External Service (id = %d)\n",
req_exec_service_build_message->service_list[i]);
- my_service_list[my_service_list_entries].sync_init =
+ my_service_list[my_service_list_entries].sync_init =
dummy_sync_init;
- my_service_list[my_service_list_entries].sync_abort =
+ my_service_list[my_service_list_entries].sync_abort =
dummy_sync_abort;
- my_service_list[my_service_list_entries].sync_process =
+ my_service_list[my_service_list_entries].sync_process =
dummy_sync_process;
- my_service_list[my_service_list_entries].sync_activate =
+ my_service_list[my_service_list_entries].sync_activate =
dummy_sync_activate;
my_service_list_entries += 1;
/*
* No syncv2 services
*/
- if (my_service_list_entries == 0) {
+ if (my_service_list_entries == 0) {
my_state = SYNC_SERVICELIST_BUILD;
my_memb_determine_list_entries = 0;
sync_synchronization_completed ();
my_processor_list_entries = member_list_entries;
my_processing_idx = 0;
-
+
memcpy (my_service_list, my_initial_service_list,
sizeof (struct service_entry) *
my_initial_service_list_entries);
if (my_service_list[my_processing_idx].state == ACTIVATE) {
my_service_list[my_processing_idx].state = ACTIVATE;
my_service_list[my_processing_idx].sync_activate ();
- log_printf (LOGSYS_LEVEL_DEBUG, "Committing synchronization for %s\n",
+ log_printf (LOGSYS_LEVEL_DEBUG, "Committing synchronization for %s\n",
my_service_list[my_processing_idx].name);
sync_barrier_enter();
}