diff --git a/corosync-1.2.1.tar.gz b/corosync-1.2.1.tar.gz deleted file mode 100644 index 57d702f..0000000 --- a/corosync-1.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d919d9817c4cde9e3d38e6f79731d9e1cd53485c6160bd253d888fa58a87a43d -size 668446 diff --git a/corosync-1.2.7.tar.gz b/corosync-1.2.7.tar.gz new file mode 100644 index 0000000..554f105 --- /dev/null +++ b/corosync-1.2.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f774cee5d9f5d3e20b146c8719115c029815015952b48de1b99b61b462367d1 +size 687322 diff --git a/corosync-confexample-timestamp.patch b/corosync-confexample-timestamp.patch index 1cbebd8..71d2d52 100644 --- a/corosync-confexample-timestamp.patch +++ b/corosync-confexample-timestamp.patch @@ -1,9 +1,10 @@ -diff -ur corosync-1.2.0.orig//conf/corosync.conf.example corosync-1.2.0/conf/corosync.conf.example ---- corosync-1.2.0.orig//conf/corosync.conf.example 2009-06-26 02:25:52.000000000 +0200 -+++ corosync-1.2.0/conf/corosync.conf.example 2010-02-08 15:51:10.783160000 +0100 -@@ -20,7 +20,7 @@ +Index: corosync-1.2.6/conf/corosync.conf.example +=================================================================== +--- corosync-1.2.6.orig/conf/corosync.conf.example ++++ corosync-1.2.6/conf/corosync.conf.example +@@ -20,7 +20,7 @@ logging { to_syslog: yes - logfile: /tmp/corosync.log + logfile: /var/log/cluster/corosync.log debug: off - timestamp: on + timestamp: off diff --git a/corosync-cs2729.patch b/corosync-cs2729.patch deleted file mode 100644 index 9211500..0000000 --- a/corosync-cs2729.patch +++ /dev/null @@ -1,55 +0,0 @@ -Index: trunk/services/Makefile.am -=================================================================== ---- trunk/services/Makefile.am (revision 2728) -+++ trunk/services/Makefile.am (revision 2729) -@@ -68,10 +68,10 @@ - - else - quorum_%.lcrso: %.o -- $(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@ -+ $(CC) $(CFLAGS) $(COVERAGE_LCRSO_EXTRA_LDFLAGS) -shared -Wl,-soname=$@ $^ -o $@ - - service_%.lcrso: %.o -- $(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@ -+ $(CC) $(CFLAGS) $(COVERAGE_LCRSO_EXTRA_LDFLAGS) -shared -Wl,-soname=$@ $^ -o $@ - endif - - endif -Index: trunk/exec/Makefile.am -=================================================================== ---- trunk/exec/Makefile.am (revision 2728) -+++ trunk/exec/Makefile.am (revision 2729) -@@ -122,7 +122,7 @@ - else - - %.lcrso: %.o -- $(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@ -+ $(CC) $(CFLAGS) $(COVERAGE_LCRSO_EXTRA_LDFLAGS) -shared -Wl,-soname=$@ $^ -o $@ - - libtotem_pg.so.$(SONAME): $(TOTEM_OBJS) - $(CC) -shared -o $@ \ -Index: trunk/configure.ac -=================================================================== ---- trunk/configure.ac (revision 2728) -+++ trunk/configure.ac (revision 2729) -@@ -390,10 +390,12 @@ - OPT_CFLAGS="-O0" - COVERAGE_CFLAGS="-ftest-coverage -fprofile-arcs" - COVERAGE_LDFLAGS="-ftest-coverage -fprofile-arcs" -+ COVERAGE_LCRSO_EXTRA_LDFLAGS="-rdynamic" - PACKAGE_FEATURES="$PACKAGE_FEATURES coverage" - else - COVERAGE_CFLAGS="" - COVERAGE_LDFLAGS="" -+ COVERAGE_LCRSO_EXTRA_LDFLAGS="" - fi - - -@@ -437,6 +439,6 @@ - AC_SUBST([SONAME]) - AC_SUBST([CPG_SONAME]) -- -+AC_SUBST([COVERAGE_LCRSO_EXTRA_LDFLAGS]) - AC_SUBST([OS_DYFLAGS]) - - AC_SUBST([OS_LDL]) diff --git a/corosync-cs2731.patch b/corosync-cs2731.patch deleted file mode 100644 index 772b5f2..0000000 --- a/corosync-cs2731.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/exec/service.c -=================================================================== ---- trunk/exec/service.c (revision 2730) -+++ trunk/exec/service.c (revision 2731) -@@ -436,7 +436,7 @@ - (void *)&service_id, NULL); - - if(service_id != NULL -- && *service_id > 0 -+ && *service_id >= 0 - && *service_id < SERVICE_HANDLER_MAXIMUM_COUNT - && ais_service[*service_id] != NULL) { - diff --git a/corosync-cs2739.patch b/corosync-cs2739.patch deleted file mode 100644 index 25bab72..0000000 --- a/corosync-cs2739.patch +++ /dev/null @@ -1,45 +0,0 @@ -Index: trunk/exec/util.h -=================================================================== ---- trunk/exec/util.h (revision 2738) -+++ trunk/exec/util.h (revision 2739) -@@ -44,23 +44,23 @@ - extern cs_time_t clust_time_now(void); - - enum e_ais_done { -- AIS_DONE_EXIT = -1, -- AIS_DONE_UID_DETERMINE = -2, -- AIS_DONE_GID_DETERMINE = -3, -- AIS_DONE_MEMPOOL_INIT = -4, -- AIS_DONE_FORK = -5, -- AIS_DONE_LIBAIS_SOCKET = -6, -- AIS_DONE_LIBAIS_BIND = -7, -- AIS_DONE_READKEY = -8, -- AIS_DONE_MAINCONFIGREAD = -9, -- AIS_DONE_LOGSETUP = -10, -- AIS_DONE_AMFCONFIGREAD = -11, -- AIS_DONE_DYNAMICLOAD = -12, -- AIS_DONE_OBJDB = -13, -- AIS_DONE_INIT_SERVICES = -14, -- AIS_DONE_OUT_OF_MEMORY = -15, -- AIS_DONE_FATAL_ERR = -16, -- AIS_DONE_DIR_NOT_PRESENT = -17 -+ AIS_DONE_EXIT = 0, -+ AIS_DONE_UID_DETERMINE = 1, -+ AIS_DONE_GID_DETERMINE = 2, -+ AIS_DONE_MEMPOOL_INIT = 3, -+ AIS_DONE_FORK = 4, -+ AIS_DONE_LIBAIS_SOCKET = 5, -+ AIS_DONE_LIBAIS_BIND = 6, -+ AIS_DONE_READKEY = 7, -+ AIS_DONE_MAINCONFIGREAD = 8, -+ AIS_DONE_LOGSETUP = 9, -+ AIS_DONE_AMFCONFIGREAD = 10, -+ AIS_DONE_DYNAMICLOAD = 11, -+ AIS_DONE_OBJDB = 12, -+ AIS_DONE_INIT_SERVICES = 13, -+ AIS_DONE_OUT_OF_MEMORY = 14, -+ AIS_DONE_FATAL_ERR = 15, -+ AIS_DONE_DIR_NOT_PRESENT = 16 - }; - - /* diff --git a/corosync-cs2746.patch b/corosync-cs2746.patch deleted file mode 100644 index fb13d8b..0000000 --- a/corosync-cs2746.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: trunk/exec/objdb.c -=================================================================== ---- trunk/exec/objdb.c (revision 2745) -+++ trunk/exec/objdb.c (revision 2746) -@@ -1087,6 +1087,10 @@ - } - - hdb_handle_put (&object_instance_database, object_handle); -+ if (res == 0) { -+ object_key_changed_notification (object_handle, key_name, key_len, -+ object_key->value, object_key->value_len, OBJECT_KEY_REPLACED); -+ } - objdb_rdunlock(); - return (res); - -@@ -1170,6 +1174,10 @@ - } - - hdb_handle_put (&object_instance_database, object_handle); -+ if (res == 0) { -+ object_key_changed_notification (object_handle, key_name, key_len, -+ object_key->value, object_key->value_len, OBJECT_KEY_REPLACED); -+ } - objdb_rdunlock(); - return (res); - -@@ -1244,6 +1252,7 @@ - struct object_key *object_key = NULL; - struct list_head *list; - int found = 0; -+ int value_changed = 0; - - objdb_rdlock(); - -@@ -1308,8 +1317,14 @@ - free(object_key->value); - object_key->value = replacement_value; - } -- memcpy(object_key->value, new_value, new_value_len); -- object_key->value_len = new_value_len; -+ if (memcmp (object_key->value, new_value, new_value_len) == 0) { -+ value_changed = 0; -+ } -+ else { -+ memcpy(object_key->value, new_value, new_value_len); -+ object_key->value_len = new_value_len; -+ value_changed = 1; -+ } - } - else { - ret = -1; -@@ -1317,7 +1332,7 @@ - } - - hdb_handle_put (&object_instance_database, object_handle); -- if (ret == 0) { -+ if (ret == 0 && value_changed) { - object_key_changed_notification (object_handle, key_name, key_len, - new_value, new_value_len, OBJECT_KEY_REPLACED); - } diff --git a/corosync-cs2748.patch b/corosync-cs2748.patch deleted file mode 100644 index d19040c..0000000 --- a/corosync-cs2748.patch +++ /dev/null @@ -1,89 +0,0 @@ -Index: trunk/lib/coroipcc.c -=================================================================== ---- trunk/lib/coroipcc.c (revision 2747) -+++ trunk/lib/coroipcc.c (revision 2748) -@@ -654,42 +654,42 @@ - goto error_connect; - } - -- res = memory_map ( -+ sys_res = memory_map ( - control_map_path, - "control_buffer-XXXXXX", - (void *)&ipc_instance->control_buffer, - 8192); -- if (res == -1) { -+ if (sys_res == -1) { - res = CS_ERR_LIBRARY; - goto error_connect; - } - -- res = memory_map ( -+ sys_res = memory_map ( - request_map_path, - "request_buffer-XXXXXX", - (void *)&ipc_instance->request_buffer, - request_size); -- if (res == -1) { -+ if (sys_res == -1) { - res = CS_ERR_LIBRARY; - goto error_request_buffer; - } - -- res = memory_map ( -+ sys_res = memory_map ( - response_map_path, - "response_buffer-XXXXXX", - (void *)&ipc_instance->response_buffer, - response_size); -- if (res == -1) { -+ if (sys_res == -1) { - res = CS_ERR_LIBRARY; - goto error_response_buffer; - } - -- res = circular_memory_map ( -+ sys_res = circular_memory_map ( - dispatch_map_path, - "dispatch_buffer-XXXXXX", - (void *)&ipc_instance->dispatch_buffer, - dispatch_size); -- if (res == -1) { -+ if (sys_res == -1) { - res = CS_ERR_LIBRARY; - goto error_dispatch_buffer; - } -@@ -699,7 +699,6 @@ - sem_init (&ipc_instance->control_buffer->sem1, 1, 0); - sem_init (&ipc_instance->control_buffer->sem2, 1, 0); - #else -- - /* - * Allocate a semaphore segment - */ -@@ -718,18 +717,21 @@ - * an existing shared memory segment for which we have access - */ - if (errno != EEXIST && errno != EACCES) { -+ res = CS_ERR_LIBRARY; - goto error_exit; - } - } - - semun.val = 0; -- res = semctl (ipc_instance->semid, 0, SETVAL, semun); -- if (res != 0) { -+ sys_res = semctl (ipc_instance->semid, 0, SETVAL, semun); -+ if (sys_res != 0) { -+ res = CS_ERR_LIBRARY; - goto error_exit; - } - -- res = semctl (ipc_instance->semid, 1, SETVAL, semun); -- if (res != 0) { -+ sys_res = semctl (ipc_instance->semid, 1, SETVAL, semun); -+ if (sys_res != 0) { -+ res = CS_ERR_LIBRARY; - goto error_exit; - } - #endif diff --git a/corosync-cs2754.patch b/corosync-cs2754.patch deleted file mode 100644 index fbfd62a..0000000 --- a/corosync-cs2754.patch +++ /dev/null @@ -1,123 +0,0 @@ -Index: trunk/lib/cfg.c -=================================================================== ---- trunk/lib/cfg.c (revision 2753) -+++ trunk/lib/cfg.c (revision 2754) -@@ -203,7 +203,7 @@ - switch (dispatch_data->id) { - case MESSAGE_RES_CFG_TESTSHUTDOWN: - if (callbacks.corosync_cfg_shutdown_callback == NULL) { -- continue; -+ break; - } - - res_lib_cfg_testshutdown = (struct res_lib_cfg_testshutdown *)dispatch_data; -Index: trunk/lib/cpg.c -=================================================================== ---- trunk/lib/cpg.c (revision 2753) -+++ trunk/lib/cpg.c (revision 2754) -@@ -339,7 +339,7 @@ - switch (dispatch_data->id) { - case MESSAGE_RES_CPG_DELIVER_CALLBACK: - if (callbacks.cpg_deliver_fn == NULL) { -- continue; -+ break; - } - - res_cpg_deliver_callback = (struct res_lib_cpg_deliver_callback *)dispatch_data; -@@ -358,7 +358,7 @@ - - case MESSAGE_RES_CPG_CONFCHG_CALLBACK: - if (callbacks.cpg_confchg_fn == NULL) { -- continue; -+ break; - } - - res_cpg_confchg_callback = (struct res_lib_cpg_confchg_callback *)dispatch_data; -Index: trunk/lib/votequorum.c -=================================================================== ---- trunk/lib/votequorum.c (revision 2753) -+++ trunk/lib/votequorum.c (revision 2754) -@@ -742,7 +742,7 @@ - - case MESSAGE_RES_VOTEQUORUM_NOTIFICATION: - if (callbacks.votequorum_notify_fn == NULL) { -- continue; -+ break; - } - res_lib_votequorum_notification = (struct res_lib_votequorum_notification *)dispatch_data; - -@@ -756,7 +756,7 @@ - - case MESSAGE_RES_VOTEQUORUM_EXPECTEDVOTES_NOTIFICATION: - if (callbacks.votequorum_expectedvotes_notify_fn == NULL) { -- continue; -+ break; - } - res_lib_votequorum_expectedvotes_notification = (struct res_lib_votequorum_expectedvotes_notification *)dispatch_data; - -Index: trunk/lib/quorum.c -=================================================================== ---- trunk/lib/quorum.c (revision 2753) -+++ trunk/lib/quorum.c (revision 2754) -@@ -387,7 +387,7 @@ - - case MESSAGE_RES_QUORUM_NOTIFICATION: - if (callbacks.quorum_notify_fn == NULL) { -- continue; -+ break; - } - res_lib_quorum_notification = (struct res_lib_quorum_notification *)dispatch_data; - -Index: trunk/lib/confdb.c -=================================================================== ---- trunk/lib/confdb.c (revision 2753) -+++ trunk/lib/confdb.c (revision 2754) -@@ -341,7 +341,7 @@ - switch (dispatch_data->id) { - case MESSAGE_RES_CONFDB_KEY_CHANGE_CALLBACK: - if (callbacks.confdb_key_change_notify_fn == NULL) { -- continue; -+ break; - } - - res_key_changed_pt = (struct res_lib_confdb_key_change_callback *)dispatch_data; -@@ -360,7 +360,7 @@ - - case MESSAGE_RES_CONFDB_OBJECT_CREATE_CALLBACK: - if (callbacks.confdb_object_create_change_notify_fn == NULL) { -- continue; -+ break; - } - - res_object_created_pt = (struct res_lib_confdb_object_create_callback *)dispatch_data; -@@ -374,7 +374,7 @@ - - case MESSAGE_RES_CONFDB_OBJECT_DESTROY_CALLBACK: - if (callbacks.confdb_object_delete_change_notify_fn == NULL) { -- continue; -+ break; - } - - res_object_destroyed_pt = (struct res_lib_confdb_object_destroy_callback *)dispatch_data; -Index: trunk/lib/evs.c -=================================================================== ---- trunk/lib/evs.c (revision 2753) -+++ trunk/lib/evs.c (revision 2754) -@@ -279,7 +279,7 @@ - switch (dispatch_data->id) { - case MESSAGE_RES_EVS_DELIVER_CALLBACK: - if (callbacks.evs_deliver_fn == NULL) { -- continue; -+ break; - } - - res_evs_deliver_callback = (struct res_evs_deliver_callback *)dispatch_data; -@@ -292,7 +292,7 @@ - - case MESSAGE_RES_EVS_CONFCHG_CALLBACK: - if (callbacks.evs_confchg_fn == NULL) { -- continue; -+ break; - } - - res_evs_confchg_callback = (struct res_evs_confchg_callback *)dispatch_data; diff --git a/corosync-cs2756.patch b/corosync-cs2756.patch deleted file mode 100644 index a65a3a5..0000000 --- a/corosync-cs2756.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: trunk/man/corosync.conf.5 -=================================================================== ---- trunk/man/corosync.conf.5 (revision 2755) -+++ trunk/man/corosync.conf.5 (revision 2756) -@@ -119,6 +119,10 @@ - This specifies the UDP port number. It is possible to use the same multicast - address on a network with the corosync services configured for different - UDP ports. -+Please note corosync uses two UDP ports mcastport (for mcast receives) and -+mcastport - 1 (for mcast sends). -+If you have multiple clusters on the same network using the same mcastaddr -+please configure the mcastports with a gap. - - .PP - .PP diff --git a/corosync-cs2767.patch b/corosync-cs2767.patch deleted file mode 100644 index a255c4e..0000000 --- a/corosync-cs2767.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: trunk/exec/vsf_ykd.c -=================================================================== ---- trunk/exec/vsf_ykd.c (revision 2766) -+++ trunk/exec/vsf_ykd.c (revision 2767) -@@ -193,7 +193,7 @@ - struct ykd_header header; - int res; - -- header.id = YKD_HEADER_SENDSTATE; -+ header.id = YKD_HEADER_ATTEMPT; - - iovec.iov_base = (char *)&header; - iovec.iov_len = sizeof (struct ykd_header); -@@ -343,6 +343,7 @@ - int all_received = 1; - int state_position = 0; - int i; -+ struct ykd_header *header = (struct ykd_header *)msg; - char *msg_state = (char *)msg + sizeof (struct ykd_header); - - /* -@@ -390,6 +391,13 @@ - } - } - -+ /* -+ * Ignore messages from a different state -+ */ -+ if ((ykd_mode == YKD_MODE_SENDSTATE && header->id == YKD_HEADER_ATTEMPT) || -+ (ykd_mode == YKD_MODE_ATTEMPT && header->id == YKD_HEADER_SENDSTATE)) -+ return; -+ - switch (ykd_mode) { - case YKD_MODE_SENDSTATE: - assert (msg_len > sizeof (struct ykd_header)); diff --git a/corosync-cs2785.patch b/corosync-cs2785.patch deleted file mode 100644 index d30de28..0000000 --- a/corosync-cs2785.patch +++ /dev/null @@ -1,54 +0,0 @@ -Index: corosync-1.2.1/services/cpg.c -=================================================================== ---- corosync-1.2.1.orig/services/cpg.c -+++ corosync-1.2.1/services/cpg.c -@@ -414,6 +414,27 @@ struct req_exec_cpg_downlist { - - static struct req_exec_cpg_downlist g_req_exec_cpg_downlist; - -+static int memb_list_remove_value (unsigned int *list, -+ size_t list_entries, int value) -+{ -+ int j; -+ int found = 0; -+ -+ for (j = 0; j < list_entries; j++) { -+ if (list[j] == value) { -+ /* mark next values to be copied down */ -+ found = 1; -+ } -+ else if (found) { -+ list[j-1] = list[j]; -+ } -+ } -+ if (found) -+ return (list_entries - 1); -+ else -+ return list_entries; -+} -+ - static void cpg_sync_init_v2 ( - const unsigned int *trans_list, - size_t trans_list_entries, -@@ -432,6 +453,21 @@ static void cpg_sync_init_v2 ( - sizeof (unsigned int)); - my_member_list_entries = member_list_entries; - -+ for (i = 0; i < my_old_member_list_entries; i++) { -+ found = 0; -+ for (j = 0; j < trans_list_entries; j++) { -+ if (my_old_member_list[i] == trans_list[j]) { -+ found = 1; -+ break; -+ } -+ } -+ if (found == 0) { -+ my_member_list_entries = memb_list_remove_value ( -+ my_member_list, my_member_list_entries, -+ my_old_member_list[i]); -+ } -+ } -+ - for (i = 0; i < my_member_list_entries; i++) { - if (my_member_list[i] < lowest_nodeid) { - lowest_nodeid = my_member_list[i]; diff --git a/corosync-cs2787.patch b/corosync-cs2787.patch deleted file mode 100644 index b0d142b..0000000 --- a/corosync-cs2787.patch +++ /dev/null @@ -1,76 +0,0 @@ -Index: trunk/exec/objdb.c -=================================================================== ---- trunk/exec/objdb.c (revision 2786) -+++ trunk/exec/objdb.c (revision 2787) -@@ -1316,6 +1316,8 @@ - goto error_exit; - free(object_key->value); - object_key->value = replacement_value; -+ memset (object_key->value, 0, new_value_len); -+ object_key->value_len = new_value_len; - } - if (memcmp (object_key->value, new_value, new_value_len) == 0) { - value_changed = 0; -Index: trunk/exec/coroipcs.c -=================================================================== ---- trunk/exec/coroipcs.c (revision 2786) -+++ trunk/exec/coroipcs.c (revision 2787) -@@ -727,6 +727,7 @@ - mar_res_setup_t res_setup; - unsigned int res; - -+ memset (&res_setup, 0, sizeof (res_setup)); - res_setup.error = error; - - retry_send: -Index: trunk/exec/logsys.c -=================================================================== ---- trunk/exec/logsys.c (revision 2786) -+++ trunk/exec/logsys.c (revision 2787) -@@ -731,6 +731,8 @@ - int log_msg; - char buf[COMBINE_BUFFER_SIZE]; - -+ memset (buf, 0, sizeof (buf)); -+ - /* - * Signal wthread_create that the initialization process may continue - */ -@@ -1111,6 +1113,7 @@ - return (-1); - } - -+ memset (flt_data, 0, flt_real_size); - /* - * flt_data_size tracks data by ints and not bytes/chars. - * -Index: trunk/exec/main.c -=================================================================== ---- trunk/exec/main.c (revision 2786) -+++ trunk/exec/main.c (revision 2787) -@@ -655,13 +655,12 @@ - mtt_rx_token = (total_mtt_rx_token / token_count); - avg_backlog_calc = (total_backlog_calc / token_count); - avg_token_holdtime = (total_token_holdtime / token_count); -- - objdb->object_key_replace (stats->mrp->srp->hdr.handle, - "mtt_rx_token", strlen("mtt_rx_token"), - &mtt_rx_token, sizeof (mtt_rx_token)); - objdb->object_key_replace (stats->mrp->srp->hdr.handle, - "avg_token_workload", strlen("avg_token_workload"), -- &avg_token_holdtime, sizeof (avg_backlog_calc)); -+ &avg_token_holdtime, sizeof (avg_token_holdtime)); - objdb->object_key_replace (stats->mrp->srp->hdr.handle, - "avg_backlog_calc", strlen("avg_backlog_calc"), - &avg_backlog_calc, sizeof (avg_backlog_calc)); -@@ -782,8 +781,8 @@ - "avg_token_workload", &zero_32, - sizeof (zero_32), OBJDB_VALUETYPE_UINT32); - objdb->object_key_create_typed (stats->mrp->srp->hdr.handle, -- "avg_backlog_calc", &zero_64, -- sizeof (zero_64), OBJDB_VALUETYPE_UINT64); -+ "avg_backlog_calc", &zero_32, -+ sizeof (zero_32), OBJDB_VALUETYPE_UINT32); - objdb->object_key_create_typed (stats->mrp->srp->hdr.handle, - "rx_msg_dropped", &zero_64, - sizeof (zero_64), OBJDB_VALUETYPE_UINT64); diff --git a/corosync-cs2789.patch b/corosync-cs2789.patch deleted file mode 100644 index 98fc1be..0000000 --- a/corosync-cs2789.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: trunk/lib/coroipcc.c -=================================================================== ---- trunk/lib/coroipcc.c (revision 2788) -+++ trunk/lib/coroipcc.c (revision 2789) -@@ -478,11 +478,18 @@ - pfd.fd = ipc_instance->fd; - pfd.events = 0; - -- poll (&pfd, 1, 0); -- if (pfd.revents == POLLERR || pfd.revents == POLLHUP) { -+ res = poll (&pfd, 1, 0); -+ -+ if (res == -1 && errno != EINTR) { - return (CS_ERR_LIBRARY); - } - -+ if (res == 1) { -+ if (pfd.revents == POLLERR || pfd.revents == POLLHUP || pfd.revents == POLLNVAL) { -+ return (CS_ERR_LIBRARY); -+ } -+ } -+ - goto retry_semwait; - } - diff --git a/corosync-cs2791.patch b/corosync-cs2791.patch deleted file mode 100644 index cb5b617..0000000 --- a/corosync-cs2791.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/man/corosync.conf.5 -=================================================================== ---- trunk/man/corosync.conf.5 (revision 2790) -+++ trunk/man/corosync.conf.5 (revision 2791) -@@ -350,7 +350,7 @@ - The default is 1000 millseconds. - - .TP --fail_to_recv_const -+fail_recv_const - This constant specifies how many rotations of the token without receiving any - of the messages when messages should be received may occur before a new - configuration is formed. diff --git a/corosync-cs2792.patch b/corosync-cs2792.patch deleted file mode 100644 index 03553bc..0000000 --- a/corosync-cs2792.patch +++ /dev/null @@ -1,33 +0,0 @@ -Index: trunk/exec/totemsrp.c -=================================================================== ---- trunk/exec/totemsrp.c (revision 2791) -+++ trunk/exec/totemsrp.c (revision 2792) -@@ -1390,6 +1390,8 @@ - { - if (instance->old_ring_state_saved == 0) { - instance->old_ring_state_saved = 1; -+ memcpy (&instance->my_old_ring_id, &instance->my_ring_id, -+ sizeof (struct memb_ring_id)); - instance->old_ring_state_aru = instance->my_aru; - instance->old_ring_state_high_seq_received = instance->my_high_seq_received; - log_printf (instance->totemsrp_log_level_debug, -@@ -1401,7 +1403,9 @@ - static void ring_state_restore (struct totemsrp_instance *instance) - { - if (instance->old_ring_state_saved) { -- totemip_zero_set(&instance->my_ring_id.rep); -+ memcpy (&instance->my_ring_id, &instance->my_old_ring_id, -+ sizeof (struct memb_ring_id)); -+ - instance->my_aru = instance->old_ring_state_aru; - instance->my_high_seq_received = instance->old_ring_state_high_seq_received; - log_printf (instance->totemsrp_log_level_debug, -@@ -1412,6 +1416,8 @@ - - static void old_ring_state_reset (struct totemsrp_instance *instance) - { -+ log_printf (instance->totemsrp_log_level_debug, -+ "Resetting old ring state\n"); - instance->old_ring_state_saved = 0; - } - diff --git a/corosync-cs2793.patch b/corosync-cs2793.patch deleted file mode 100644 index 33a5256..0000000 --- a/corosync-cs2793.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/exec/totemsrp.c -=================================================================== ---- trunk/exec/totemsrp.c (revision 2792) -+++ trunk/exec/totemsrp.c (revision 2793) -@@ -93,7 +93,7 @@ - - #define LOCALHOST_IP inet_addr("127.0.0.1") - #define QUEUE_RTR_ITEMS_SIZE_MAX 16384 /* allow 16384 retransmit items */ --#define RETRANS_MESSAGE_QUEUE_SIZE_MAX 500 /* allow 500 messages to be queued */ -+#define RETRANS_MESSAGE_QUEUE_SIZE_MAX 16384 /* allow 500 messages to be queued */ - #define RECEIVED_MESSAGE_QUEUE_SIZE_MAX 500 /* allow 500 messages to be queued */ - #define MAXIOVS 5 - #define RETRANSMIT_ENTRIES_MAX 30 diff --git a/corosync-cs2794.patch b/corosync-cs2794.patch deleted file mode 100644 index ee64c61..0000000 --- a/corosync-cs2794.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/exec/totemsrp.c -=================================================================== ---- trunk/exec/totemsrp.c (revision 2793) -+++ trunk/exec/totemsrp.c (revision 2794) -@@ -2466,7 +2466,7 @@ - orf_token->rtr_list_entries -= 1; - assert (orf_token->rtr_list_entries >= 0); - memmove (&rtr_list[i], &rtr_list[i + 1], -- sizeof (struct rtr_item) * (orf_token->rtr_list_entries)); -+ sizeof (struct rtr_item) * (orf_token->rtr_list_entries - i)); - - instance->stats.mcast_retx++; - instance->fcc_remcast_current++; diff --git a/corosync-cs2795.patch b/corosync-cs2795.patch deleted file mode 100644 index 9779cf5..0000000 --- a/corosync-cs2795.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/exec/totemsrp.c -=================================================================== ---- trunk/exec/totemsrp.c (revision 2794) -+++ trunk/exec/totemsrp.c (revision 2795) -@@ -391,7 +391,7 @@ - - struct list_head token_callback_sent_listhead; - -- char *orf_token_retransmit[TOKEN_SIZE_MAX]; -+ char orf_token_retransmit[TOKEN_SIZE_MAX]; - - int orf_token_retransmit_size; - diff --git a/corosync-cs2800.patch b/corosync-cs2800.patch deleted file mode 100644 index cb8eefc..0000000 --- a/corosync-cs2800.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: trunk/exec/main.c -=================================================================== ---- trunk/exec/main.c (revision 2799) -+++ trunk/exec/main.c (revision 2800) -@@ -832,6 +832,12 @@ - serialize_unlock(); - return; - } -+ if (fn_id >= ais_service[service]->exec_engine_count) { -+ log_printf(LOGSYS_LEVEL_WARNING, "discarded unknown message %d for service %d (max id %d)", -+ fn_id, service, ais_service[service]->exec_engine_count); -+ serialize_unlock(); -+ return; -+ } - - objdb->object_key_increment (service_stats_handle[service][fn_id], - "rx", strlen("rx"), diff --git a/corosync-cs2856.patch b/corosync-cs2856.patch deleted file mode 100644 index d3a5cf7..0000000 --- a/corosync-cs2856.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: trunk/man/corosync.conf.5 -=================================================================== ---- trunk/man/corosync.conf.5 (revision 2855) -+++ trunk/man/corosync.conf.5 (revision 2856) -@@ -88,9 +88,11 @@ - - .TP - bindnetaddr --This specifies the address which the corosync executive should bind. --This address should always end in zero. If the totem traffic should --be routed over 192.168.5.92, set bindnetaddr to 192.168.5.0. -+This specifies the network address the corosync executive should bind -+to. For example, if the local interface is 192.168.5.92 with netmask -+255.255.255.0, set bindnetaddr to 192.168.5.0. If the local interface -+is 192.168.5.92 with netmask 255.255.255.192, set bindnetaddr to -+192.168.5.64, and so forth. - - This may also be an IPV6 address, in which case IPV6 networking will be used. - In this case, the full address must be specified and there is no automatic diff --git a/corosync-sync-barrier.patch b/corosync-sync-barrier.patch deleted file mode 100644 index 1c48ac9..0000000 --- a/corosync-sync-barrier.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: syncv2.c -=================================================================== ---- corosync-1.2.1/exec/syncv2.c (revision 2739) -+++ corosync-1.2.1/exec/syncv2.c (working copy) -@@ -244,6 +244,11 @@ - } - } - if (barrier_reached) { -+ log_printf (LOGSYS_LEVEL_DEBUG, "Committing synchronization for %s\n", -+ my_service_list[my_processing_idx].name); -+ my_service_list[my_processing_idx].state = ACTIVATE; -+ my_service_list[my_processing_idx].sync_activate (); -+ - my_processing_idx += 1; - if (my_service_list_entries == my_processing_idx) { - my_memb_determine_list_entries = 0; -@@ -551,19 +556,12 @@ - if (my_service_list[my_processing_idx].state == PROCESS) { - my_service_list[my_processing_idx].state = PROCESS; - res = my_service_list[my_processing_idx].sync_process (); -- if (res != -1) { -- my_service_list[my_processing_idx].state = ACTIVATE; -+ if (res == 0) { -+ sync_barrier_enter(); - } else { - return (-1); - } - } -- 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", -- my_service_list[my_processing_idx].name); -- sync_barrier_enter(); -- } - return (0); - } - diff --git a/corosync-when-sync-is-aborted-clear-the-my_ring_id-variable.patch b/corosync-when-sync-is-aborted-clear-the-my_ring_id-variable.patch deleted file mode 100644 index 49fd2a2..0000000 --- a/corosync-when-sync-is-aborted-clear-the-my_ring_id-variable.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ee2d2224c0795c1fa9f1163c37ab61b446c5c393 Mon Sep 17 00:00:00 2001 -From: Angus Salkeld -Date: Fri, 9 Apr 2010 20:44:23 +1000 -Subject: [PATCH] When sync is aborted clear the "my_ring_id" variable. - -Signed-off-by: Angus Salkeld ---- - exec/syncv2.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/exec/syncv2.c b/exec/syncv2.c -index 57b501b..53e1650 100644 ---- a/exec/syncv2.c -+++ b/exec/syncv2.c -@@ -665,6 +665,9 @@ void sync_v2_abort (void) - schedwrk_destroy (my_schedwrk_handle); - my_service_list[my_processing_idx].sync_abort (); - } -+ -+ /* prevent and more incoming messages to be dumped */ -+ memset (&my_ring_id, 0, sizeof (struct memb_ring_id)); - } - - void sync_v2_memb_list_determine (const struct memb_ring_id *ring_id) --- -1.6.6.1 - diff --git a/corosync.changes b/corosync.changes index 0b47231..a28675d 100644 --- a/corosync.changes +++ b/corosync.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Thu Aug 5 04:55:08 UTC 2010 - tserong@novell.com + +- Update to corosync 1.2.7 + - Remove consensus check for two node cluster cases which can have smaller + consensus values. Document in man page the behavior of consensus. + +------------------------------------------------------------------- +Tue Jul 27 11:48:21 UTC 2010 - tserong@novell.com + +- Fix problem where flow control could lock up ipc under very heavy load in + very rare circumstances (upstream cs 3003) +- SYNC: always call sync_aborted() in sync_confchg_fn() (upstream cs 3000) +- SYNCV2: reset the my_memb_determine_ring_id in sync_v2_memb_list_abort() + (upstream cs 2999) +- Fix logging_daemon config parser code (rhbz#615203) (upstream cs 2998) +- Remove reset of token timeout on retransmitted token reception. Fixes + membership problems with certain timing parametrs (upstream cs 2989) +- Speed up IPC connection process (upstream cs 2987) +- Fix fail list fault that occurs in very rare circumstances (upstream cs 2985) + +------------------------------------------------------------------- +Thu Jul 22 03:31:59 UTC 2010 - tserong@novell.com + +- Update to corosync 1.2.6 + - 80% packet loss networks were resulting in problems with totem. + - Fixed ~40 scanning errors found with coverity. + - cpg_membership_get now functional. + - errors logged prior to the start of the daemon were not flushed. + - Fixes defects in logsys which are crashing pacemaker installations. + - Adds man pages for all binaries + - Fixes several defects found in high packet loss field environments. + - Send proper notification code of CPG_REASON_LEAVE in cpg service. + - Fix segfault when pacemaker forks new processes + - Unlock global serializer lock during shutdown to prevent spinning on + single cpu systems or high cpu use on mulitple cpu systems + - Stop totem statistics updater timer during shutdown to prevent a + segfault during shutdown. + - Fix problem where glibc's fork() implementation may cause segfaults in + Pacemaker's use of the fork() system call. + - Fix problem where a full /dev/shm would result in client segfault - + instead an error is returned in this situation. + - Fix problem where flight recorder leaks files in shared memory + filesystem. Also clean up the error handling of the shared memory + allocation code of the flight recorder. + - Fix problem where a failure in glibc's pathconf API would result in + segfault. + - Add corosync and corosync-blackbox man pages. + +------------------------------------------------------------------- +Fri Jul 9 08:53:55 UTC 2010 - dmuhamedagic@novell.com + +- prevent corosync-cfgtool from hanging (bnc#616183) + ------------------------------------------------------------------- Wed Jun 2 11:53:28 UTC 2010 - tserong@novell.com diff --git a/corosync.conf.example.patch b/corosync.conf.example.patch index 524bb24..f4c9a0c 100644 --- a/corosync.conf.example.patch +++ b/corosync.conf.example.patch @@ -76,10 +76,10 @@ Index: corosync-1.2.1/conf/corosync.conf.example logging { - fileline: off -- to_stderr: yes +- to_stderr: no - to_logfile: yes - to_syslog: yes -- logfile: /tmp/corosync.log +- logfile: /var/log/cluster/corosync.log - debug: off - timestamp: off - logger_subsys { diff --git a/corosync.spec b/corosync.spec index bdda470..f15ab77 100644 --- a/corosync.spec +++ b/corosync.spec @@ -1,5 +1,5 @@ # -# spec file for package corosync (Version 1.2.1) +# spec file for package corosync (Version 1.2.7) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -25,39 +25,18 @@ %if 0%{?suse_version} %define _libexecdir %{_libdir} %endif - Name: corosync Summary: The Corosync Cluster Engine and Application Programming Interfaces -Version: 1.2.1 -Release: 1 +Version: 1.2.7 +Release: 0 License: BSD3c Group: System Environment/Base Url: http://www.openais.org Source0: http://developer.osdl.org/dev/openais/downloads/%{name}-%{version}/%{name}-%{version}.tar.gz Patch1: corosync-confexample-timestamp.patch Patch2: corosync-revert-cs2429.patch -Patch3: corosync-cs2729.patch -Patch4: corosync-cs2731.patch -Patch5: corosync-cs2739.patch -Patch6: corosync-cs2746.patch -Patch7: corosync-cs2748.patch -Patch8: corosync-sync-barrier.patch -Patch9: corosync-cs2754.patch -Patch10: corosync-cs2756.patch -Patch11: corosync-trunk-reset-pause-timestamp-on-events.patch -Patch12: corosync-when-sync-is-aborted-clear-the-my_ring_id-variable.patch -Patch13: corosync-cs2767.patch -Patch14: corosync-cs2785.patch -Patch15: corosync-cs2787.patch -Patch16: corosync-cs2789.patch -Patch17: corosync-cs2791.patch -Patch18: corosync-cs2792.patch -Patch19: corosync-cs2793.patch -Patch20: corosync-cs2794.patch -Patch21: corosync-cs2795.patch -Patch22: corosync-cs2800.patch -Patch23: corosync.conf.example.patch -Patch24: corosync-cs2856.patch +Patch3: corosync-trunk-reset-pause-timestamp-on-events.patch +Patch4: corosync.conf.example.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # Runtime bits Requires: libcorosync4 = %{version}-%{release} @@ -82,26 +61,6 @@ BuildRequires: pkg-config %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 %build %if %{buildtrunk} @@ -175,8 +134,17 @@ script. %{_libexecdir}/lcrso/vsf_quorum.lcrso %{_libexecdir}/lcrso/vsf_ykd.lcrso %dir %{_localstatedir}/lib/corosync +%dir %{_localstatedir}/log/cluster %{_mandir}/man8/corosync_overview.8* +%{_mandir}/man8/corosync.8* +%{_mandir}/man8/corosync-blackbox.8* %{_mandir}/man8/corosync-objctl.8* +%{_mandir}/man8/corosync-keygen.8* +%{_mandir}/man8/corosync-cfgtool.8* +%{_mandir}/man8/corosync-cpgtool.8* +%{_mandir}/man8/corosync-fplay.8* +%{_mandir}/man8/corosync-pload.8* +%{_mandir}/man8/corosync-quorumtool.8* %{_mandir}/man5/corosync.conf.5* %package -n libcorosync4