1 diff -u openais-1.1.1/debian/control openais-1.1.1/debian/control
2 --- openais-1.1.1/debian/control
3 +++ openais-1.1.1/debian/control
5 Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>,
6 Guido Günther <agx@sigxcpu.org>
7 Standards-Version: 3.8.3
8 -Build-Depends: debhelper (>> 5), libcorosync-dev (>= 1.1.0), pkg-config, groff
9 +Build-Depends: debhelper (>> 5), libcorosync-dev (>= 1.1.0), pkg-config, groff, quilt
10 Vcs-Git: git://git.debian.org/debian-ha/openais.git
11 Vcs-Browser: http://git.debian.org/?p=debian-ha/openais.git;a=summary
15 Breaks: cman (<< 3.0.0)
16 Depends: ${shlibs:Depends}, libopenais3 (= ${binary:Version})
17 +Provides: invirt-openais
18 Description: Standards-based cluster framework (daemon and modules)
19 The openais project is a project to implement a production quality
20 "Revised BSD" licensed implementation of the SA Forum's Application
21 diff -u openais-1.1.1/debian/changelog openais-1.1.1/debian/changelog
22 --- openais-1.1.1/debian/changelog
23 +++ openais-1.1.1/debian/changelog
25 +openais (1.1.1-1~hardy1~invirt2) hardy; urgency=low
27 + * Backport to Hardy.
28 + * Include r2098-2102 from openais to fix deadlocks in the Lck service.
29 + * Provide invirt-openais, so that invirt-cluster-config can depend on a
30 + version of openais with the Lck patch.
32 + -- Evan Broder <broder@xvm.mit.edu> Sat, 29 May 2010 17:18:51 -0400
34 openais (1.1.1-1) unstable; urgency=low
36 * [8fe08bb] add watch file
37 diff -u openais-1.1.1/debian/rules openais-1.1.1/debian/rules
38 --- openais-1.1.1/debian/rules
39 +++ openais-1.1.1/debian/rules
42 export OPENAIS_BUILD=$(if $(findstring debug,$(DEB_BUILD_OPTIONS)),DEBUG)
45 +include /usr/share/quilt/quilt.make
47 +configure-stamp: patch
48 ./configure --prefix=/usr \
50 --libexecdir=/usr/lib/ \
52 build: configure-stamp
59 dh_clean configure-stamp
62 --- openais-1.1.1.orig/debian/patches/2099-fix-saTmrDispatch-deadlock
63 +++ openais-1.1.1/debian/patches/2099-fix-saTmrDispatch-deadlock
65 +Description: Fix a deadlock in the Tmr service
66 +Origin: upstream, commit:r2099
68 +===================================================================
69 +--- a/lib/tmr.c (revision 2098)
70 ++++ b/lib/tmr.c (revision 2099)
72 + switch (dispatch_data->id) {
73 + case MESSAGE_RES_TMR_TIMEREXPIREDCALLBACK:
74 + if (callbacks.saTmrTimerExpiredCallback == NULL) {
79 + res_lib_tmr_timerexpiredcallback =
82 --- openais-1.1.1.orig/debian/patches/series
83 +++ openais-1.1.1/debian/patches/series
85 +2098-fix-saCkptDispatch-deadlock
86 +2099-fix-saTmrDispatch-deadlock
87 +2100-fix-saLckDispatch-deadlock
88 +2101-fix-saClmDispatch-deadlock
89 +2102-fix-saMsgDispatch-deadlock
93 --- openais-1.1.1.orig/debian/patches/2102-fix-saMsgDispatch-deadlock
94 +++ openais-1.1.1/debian/patches/2102-fix-saMsgDispatch-deadlock
96 +Description: Fix a deadlock in the Msg service
97 +Origin: upstream, commit:r2102
100 +===================================================================
101 +--- a/lib/msg.c (revision 2101)
102 ++++ b/lib/msg.c (revision 2102)
105 + case MESSAGE_RES_MSG_QUEUEOPEN_CALLBACK:
106 + if (callbacks.saMsgQueueOpenCallback == NULL) {
110 + res_lib_msg_queueopen_callback =
111 + (struct res_lib_msg_queueopen_callback *)dispatch_data;
114 + case MESSAGE_RES_MSG_QUEUEGROUPTRACK_CALLBACK:
115 + if (callbacks.saMsgQueueGroupTrackCallback == NULL) {
119 + res_lib_msg_queuegrouptrack_callback =
120 + (struct res_lib_msg_queuegrouptrack_callback *)dispatch_data;
123 + case MESSAGE_RES_MSG_MESSAGEDELIVERED_CALLBACK:
124 + if (callbacks.saMsgMessageDeliveredCallback == NULL) {
128 + res_lib_msg_messagedelivered_callback =
129 + (struct res_lib_msg_messagedelivered_callback *)dispatch_data;
132 + case MESSAGE_RES_MSG_MESSAGERECEIVED_CALLBACK:
133 + if (callbacks.saMsgMessageReceivedCallback == NULL) {
137 + res_lib_msg_messagereceived_callback =
138 + (struct res_lib_msg_messagereceived_callback *)dispatch_data;
141 --- openais-1.1.1.orig/debian/patches/2100-fix-saLckDispatch-deadlock
142 +++ openais-1.1.1/debian/patches/2100-fix-saLckDispatch-deadlock
144 +Description: Fix a deadlock in the Lck service
145 +Origin: upstream, commit:r2100
148 +===================================================================
149 +--- a/lib/lck.c (revision 2099)
150 ++++ b/lib/lck.c (revision 2100)
152 + switch (dispatch_data->id) {
153 + case MESSAGE_RES_LCK_RESOURCEOPEN_CALLBACK:
154 + if (callbacks.saLckResourceOpenCallback == NULL) {
158 + res_lib_lck_resourceopen_callback =
159 + (struct res_lib_lck_resourceopen_callback *)dispatch_data;
162 + case MESSAGE_RES_LCK_LOCKGRANT_CALLBACK:
163 + if (callbacks.saLckLockGrantCallback == NULL) {
167 + res_lib_lck_lockgrant_callback =
168 + (struct res_lib_lck_lockgrant_callback *)dispatch_data;
171 + case MESSAGE_RES_LCK_LOCKWAITER_CALLBACK:
172 + if (callbacks.saLckLockWaiterCallback == NULL) {
176 + res_lib_lck_lockwaiter_callback =
177 + (struct res_lib_lck_lockwaiter_callback *)dispatch_data;
180 + case MESSAGE_RES_LCK_RESOURCEUNLOCK_CALLBACK:
181 + if (callbacks.saLckResourceUnlockCallback == NULL) {
185 + res_lib_lck_resourceunlock_callback =
186 + (struct res_lib_lck_resourceunlock_callback *)dispatch_data;
189 --- openais-1.1.1.orig/debian/patches/2098-fix-saCkptDispatch-deadlock
190 +++ openais-1.1.1/debian/patches/2098-fix-saCkptDispatch-deadlock
192 +Description: Fix a deadlock in the Ckpt service
193 +Origin: upstream, commit:r2098
196 +===================================================================
197 +--- a/lib/ckpt.c (revision 2097)
198 ++++ b/lib/ckpt.c (revision 2098)
200 + switch (dispatch_data->id) {
201 + case MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTOPENASYNC:
202 + if (callbacks.saCkptCheckpointOpenCallback == NULL) {
206 + res_lib_ckpt_checkpointopenasync = (struct res_lib_ckpt_checkpointopenasync *) dispatch_data;
210 + case MESSAGE_RES_CKPT_CHECKPOINT_CHECKPOINTSYNCHRONIZEASYNC:
211 + if (callbacks.saCkptCheckpointSynchronizeCallback == NULL) {
216 + res_lib_ckpt_checkpointsynchronizeasync = (struct res_lib_ckpt_checkpointsynchronizeasync *) dispatch_data;
219 --- openais-1.1.1.orig/debian/patches/2101-fix-saClmDispatch-deadlock
220 +++ openais-1.1.1/debian/patches/2101-fix-saClmDispatch-deadlock
222 +Description: Fix a deadlock in the Clm service
223 +Origin: upstream, commit:r2101
226 +===================================================================
227 +--- a/lib/clm.c (revision 2100)
228 ++++ b/lib/clm.c (revision 2101)
231 + case MESSAGE_RES_CLM_TRACKCALLBACK:
232 + if (callbacks.saClmClusterTrackCallback == NULL) {
236 + res_lib_clm_clustertrack = (struct res_lib_clm_clustertrack *)dispatch_data;
240 + case MESSAGE_RES_CLM_NODEGETCALLBACK:
241 + if (callbacks.saClmClusterNodeGetCallback == NULL) {
245 + res_clm_nodegetcallback = (struct res_clm_nodegetcallback *)dispatch_data;
246 + marshall_from_mar_clm_cluster_node_t (
249 --- openais-1.1.1.orig/debian/patches/invirt_bump_locks
250 +++ openais-1.1.1/debian/patches/invirt_bump_locks
252 +--- a/include/ipc_lck.h 2010-05-29 17:05:43.000000000 -0400
253 ++++ b/include/ipc_lck.h 2010-05-29 17:06:22.000000000 -0400
255 + * can be obtained via the library call saLckLimitGet
256 + * by passing the appropriate limitId (see saLck.h).
258 +-#define LCK_MAX_NUM_LOCKS 4096
259 ++#define LCK_MAX_NUM_LOCKS 524288
261 + struct req_lib_lck_resourceopen {
262 + coroipc_request_header_t header __attribute__((aligned(8)));