1 |
xmerlin 08/11/21 22:27:54 |
2 |
|
3 |
Modified: qdiskd-2.0x.rc cman-2.0x.rc |
4 |
Added: cman-2.02.39-bug457107.patch |
5 |
Log: |
6 |
Fixed homepage, ebuild cleanup, new cman init, fixed path in qdiskd, added patch for RH bug #457107. |
7 |
(Portage version: 2.1.4.4) |
8 |
|
9 |
Revision Changes Path |
10 |
1.2 sys-cluster/cman/files/qdiskd-2.0x.rc |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc?rev=1.2&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc?rev=1.2&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc?r1=1.1&r2=1.2 |
15 |
|
16 |
Index: qdiskd-2.0x.rc |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc,v |
19 |
retrieving revision 1.1 |
20 |
retrieving revision 1.2 |
21 |
diff -u -r1.1 -r1.2 |
22 |
--- qdiskd-2.0x.rc 17 Mar 2008 16:47:11 -0000 1.1 |
23 |
+++ qdiskd-2.0x.rc 21 Nov 2008 22:27:54 -0000 1.2 |
24 |
@@ -1,7 +1,7 @@ |
25 |
#!/sbin/runscript |
26 |
# Copyright 1999-2007 Gentoo Foundation |
27 |
# Distributed under the terms of the GNU General Public License, v2 or later |
28 |
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc,v 1.1 2008/03/17 16:47:11 xmerlin Exp $ |
29 |
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/qdiskd-2.0x.rc,v 1.2 2008/11/21 22:27:54 xmerlin Exp $ |
30 |
|
31 |
depend() { |
32 |
use net |
33 |
@@ -10,7 +10,7 @@ |
34 |
|
35 |
start() { |
36 |
ebegin "Starting the Quorum Disk Daemon" |
37 |
- start-stop-daemon --start --quiet --exec /sbin/qdiskd -- -Q |
38 |
+ start-stop-daemon --start --quiet --exec /usr/sbin/qdiskd -- -Q |
39 |
eend $? "Failed to start qdiskd" |
40 |
} |
41 |
|
42 |
|
43 |
|
44 |
|
45 |
1.3 sys-cluster/cman/files/cman-2.0x.rc |
46 |
|
47 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc?rev=1.3&view=markup |
48 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc?rev=1.3&content-type=text/plain |
49 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc?r1=1.2&r2=1.3 |
50 |
|
51 |
Index: cman-2.0x.rc |
52 |
=================================================================== |
53 |
RCS file: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc,v |
54 |
retrieving revision 1.2 |
55 |
retrieving revision 1.3 |
56 |
diff -u -r1.2 -r1.3 |
57 |
--- cman-2.0x.rc 22 Mar 2008 22:59:25 -0000 1.2 |
58 |
+++ cman-2.0x.rc 21 Nov 2008 22:27:54 -0000 1.3 |
59 |
@@ -1,15 +1,22 @@ |
60 |
#!/sbin/runscript |
61 |
# Copyright 1999-2005 Gentoo Foundation |
62 |
# Distributed under the terms of the GNU General Public License v2 |
63 |
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc,v 1.2 2008/03/22 22:59:25 xmerlin Exp $ |
64 |
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/cman/files/cman-2.0x.rc,v 1.3 2008/11/21 22:27:54 xmerlin Exp $ |
65 |
|
66 |
-CCSD_BIN="/usr/sbin/ccsd" |
67 |
+CMAN_TOOL="/usr/sbin/cman_tool" |
68 |
+FENCE_TOOL="/usr/sbin/fence_tool" |
69 |
+GFS_CONTROLD="/usr/sbin/gfs_controld" |
70 |
+DLM_CONTROLD="/usr/sbin/dlm_controld" |
71 |
+GROUPD="/usr/sbin/groupd" |
72 |
+FENCED="/usr/sbin/fenced" |
73 |
+CCSD="/usr/sbin/ccsd" |
74 |
|
75 |
[ -z "$CCSD_OPTS" ] && CCSD_OPTS="" |
76 |
[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120 |
77 |
[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0 |
78 |
[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60 |
79 |
[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300 |
80 |
+[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300 |
81 |
|
82 |
depend() { |
83 |
use net |
84 |
@@ -84,12 +91,12 @@ |
85 |
eend $? |
86 |
done |
87 |
|
88 |
- local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules) |
89 |
+ local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules) |
90 |
|
91 |
- if [ ! -z "${module}" ]; then |
92 |
- unload_modules "configfs" |
93 |
- sleep 1s |
94 |
- fi |
95 |
+ if [ ! -z "${module}" ]; then |
96 |
+ unload_modules "configfs" |
97 |
+ sleep 1s |
98 |
+ fi |
99 |
} |
100 |
|
101 |
umount_gfs_filesystems() { |
102 |
@@ -130,31 +137,34 @@ |
103 |
$1 == "lock_harness" || $1 == "gfs2" || \ |
104 |
$1 == "gfs" { print $1 }' /proc/modules) |
105 |
|
106 |
+ #modules=$(awk '$1 == "lock_harness" || \ |
107 |
+ # $1 == "gfs" { print $1 }' /proc/modules) |
108 |
+ |
109 |
unload_modules "${modules}" |
110 |
} |
111 |
|
112 |
start_ccsd() { |
113 |
ebegin "Starting ccsd" |
114 |
start-stop-daemon --start --quiet \ |
115 |
- --exec ${CCSD_BIN} -- ${CCSD_OPTS} |
116 |
+ --exec ${CCSD} -- ${CCSD_OPTS} |
117 |
eend $? |
118 |
} |
119 |
|
120 |
stop_ccsd() { |
121 |
ebegin "Stopping ccsd" |
122 |
start-stop-daemon --stop --quiet \ |
123 |
- -s 9 --exec ${CCSD_BIN} |
124 |
+ -s 9 --exec ${CCSD} |
125 |
eend $? |
126 |
} |
127 |
|
128 |
start_cman() { |
129 |
|
130 |
- /usr/sbin/cman_tool status &> /dev/null |
131 |
+ ${CMAN_TOOL} status &> /dev/null |
132 |
if [ $? -ne 0 ] |
133 |
then |
134 |
ebegin "Starting cman" |
135 |
- /usr/sbin/cman_tool -t ${CMAN_CLUSTER_TIMEOUT} \ |
136 |
- -w join ${CMAN_JOIN_OPTS} > /dev/null |
137 |
+ ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \ |
138 |
+ -w join ${CMAN_JOIN_OPTS} &> /dev/null |
139 |
|
140 |
if [ "$?" -ne 0 ] |
141 |
then |
142 |
@@ -166,7 +176,7 @@ |
143 |
if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ] |
144 |
then |
145 |
ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)" |
146 |
- /usr/sbin/cman_tool -t ${CMAN_QUORUM_TIMEOUT} -q wait |
147 |
+ ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait |
148 |
eend $? |
149 |
fi |
150 |
fi |
151 |
@@ -176,16 +186,19 @@ |
152 |
} |
153 |
|
154 |
stop_cman() { |
155 |
- ebegin "Stopping cman" |
156 |
- local stat=0 |
157 |
- /usr/sbin/cman_tool status > /dev/null 2>&1 |
158 |
- if [ $? -eq 0 ]; then |
159 |
- retry=3 |
160 |
- stat=1 |
161 |
- while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ] |
162 |
- do |
163 |
- /usr/sbin/cman_tool -w -t ${CMAN_SHUTDOWN_TIMEOUT} \ |
164 |
- leave ${CMAN_LEAVE_OPTS} > /dev/null |
165 |
+ ebegin "Stopping cman" |
166 |
+ local stat=0 |
167 |
+ ${CMAN_TOOL} status > /dev/null 2>&1 |
168 |
+ if [ $? -eq 0 ]; then |
169 |
+ retry=3 |
170 |
+ stat=1 |
171 |
+ while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ] |
172 |
+ do |
173 |
+ #sleep 2 |
174 |
+ #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \ |
175 |
+ # leave remove ${CMAN_LEAVE_OPTS} > /dev/null |
176 |
+ ${CMAN_TOOL} -w -t 60 \ |
177 |
+ leave remove ${CMAN_LEAVE_OPTS} &> /dev/null |
178 |
|
179 |
stat=$? |
180 |
retry=$((${retry} -1)) |
181 |
@@ -197,63 +210,73 @@ |
182 |
|
183 |
start_groupd() { |
184 |
ebegin "Starting groupd" |
185 |
- start-stop-daemon --start --exec /usr/sbin/groupd --name groupd |
186 |
+ start-stop-daemon --start --exec ${GROUPD} --name groupd |
187 |
eend $? |
188 |
} |
189 |
|
190 |
stop_groupd() { |
191 |
ebegin "Stopping groupd" |
192 |
- start-stop-daemon --stop --exec /usr/sbin/groupd --name groupd |
193 |
+ start-stop-daemon --stop --exec ${GROUPD} --name groupd |
194 |
eend $? |
195 |
} |
196 |
|
197 |
start_fenced() { |
198 |
- ebegin "Starting fenced" |
199 |
- start-stop-daemon --start --exec /usr/sbin/fenced --name fenced |
200 |
- eend $? |
201 |
+ ebegin "Starting fenced" |
202 |
+ start-stop-daemon --start --exec ${FENCED} --name fenced |
203 |
+ eend $? |
204 |
|
205 |
- ebegin "Joining fence domain" |
206 |
- /usr/sbin/fence_tool join ${FENCED_OPTS}> /dev/null 2>&1 |
207 |
- eend $? |
208 |
+ ${CMAN_TOOL} status | grep Flags | grep 2node &> /dev/null |
209 |
+ local errmsg=$? |
210 |
+ |
211 |
+ ebegin "Joining fence domain" |
212 |
+ if [ "${errmsg}" -ne 0 ] |
213 |
+ then |
214 |
+ ${FENCE_TOOL} -w -t $FENCED_START_TIMEOUT join &> /dev/null |
215 |
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1 |
216 |
+ else |
217 |
+ ${FENCE_TOOL} -w -m $FENCED_MEMBER_DELAY join &> /dev/null |
218 |
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1 |
219 |
+ fi |
220 |
+ eend $errmsg |
221 |
} |
222 |
|
223 |
stop_fenced() { |
224 |
# fenced services |
225 |
- local fence_status="$(cman_tool services | awk '$1 ~ /fence/ { print $3 }')" |
226 |
+ local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')" |
227 |
if [ -n "${fence_status}" ]; then |
228 |
- if [ -x /usr/sbin/fence_tool ]; then |
229 |
+ if [ -x ${FENCE_TOOL} ]; then |
230 |
ebegin "Leaving fence domain" |
231 |
- /usr/sbin/fence_tool leave > /dev/null 2>&1 |
232 |
+ ${FENCE_TOOL} leave > /dev/null 2>&1 |
233 |
eend $? |
234 |
fi |
235 |
fi |
236 |
|
237 |
- ebegin "Stopping fenced" |
238 |
- start-stop-daemon --stop --exec /usr/sbin/fenced --name fenced |
239 |
- eend $? |
240 |
+ #ebegin "Stopping fenced" |
241 |
+ #start-stop-daemon --stop --exec ${FENCED} --name fenced |
242 |
+ #eend $? |
243 |
} |
244 |
|
245 |
start_gfs_controld() { |
246 |
ebegin "Starting gfs_controld" |
247 |
- start-stop-daemon --start --exec /usr/sbin/gfs_controld --name gfs_controld |
248 |
+ start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld |
249 |
eend $? |
250 |
} |
251 |
|
252 |
stop_gfs_controld() { |
253 |
ebegin "Stopping gfs_controld" |
254 |
- start-stop-daemon --stop --exec /usr/sbin/gfs_controld --name gfs_controld |
255 |
+ start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld |
256 |
eend $? |
257 |
} |
258 |
|
259 |
start_dlm_controld() { |
260 |
ebegin "Starting dlm_controld" |
261 |
- start-stop-daemon --start --exec /usr/sbin/dlm_controld --name dlm_controld |
262 |
+ start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld |
263 |
eend $? |
264 |
} |
265 |
|
266 |
stop_dlm_controld() { |
267 |
ebegin "Stopping dlm_controld" |
268 |
- start-stop-daemon --stop --exec /usr/sbin/dlm_controld --name dlm_controld |
269 |
+ start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld |
270 |
eend $? |
271 |
} |
272 |
|
273 |
@@ -276,9 +299,9 @@ |
274 |
stop_fenced |
275 |
stop_cman |
276 |
|
277 |
- stop_gfs_controld |
278 |
- stop_dlm_controld |
279 |
- stop_groupd |
280 |
+ #stop_gfs_controld |
281 |
+ #stop_dlm_controld |
282 |
+ #stop_groupd |
283 |
|
284 |
stop_ccsd |
285 |
unload_allmodules |
286 |
|
287 |
|
288 |
|
289 |
1.1 sys-cluster/cman/files/cman-2.02.39-bug457107.patch |
290 |
|
291 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/cman-2.02.39-bug457107.patch?rev=1.1&view=markup |
292 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-cluster/cman/files/cman-2.02.39-bug457107.patch?rev=1.1&content-type=text/plain |
293 |
|
294 |
Index: cman-2.02.39-bug457107.patch |
295 |
=================================================================== |
296 |
--- cluster-2.03.09/cman/daemon/commands.c.orig 2008-11-18 14:59:52.000000000 +0100 |
297 |
+++ cluster-2.03.09/cman/daemon/commands.c 2008-11-18 15:00:27.000000000 +0100 |
298 |
@@ -1729,8 +1729,7 @@ |
299 |
|
300 |
/* Newer nodes 6.1.0 onwards, set the DIRTY flag if they have state. If the new node has been down |
301 |
and has state then we mark it disallowed because we cannot merge stateful nodes */ |
302 |
- if ( (msg->flags & NODE_FLAGS_DIRTY && (node->flags & NODE_FLAGS_BEENDOWN)) || |
303 |
- (msg->flags & NODE_FLAGS_DIRTY && msg->first_trans && !node->us)) { |
304 |
+ if ( msg->flags & NODE_FLAGS_DIRTY && (node->flags & NODE_FLAGS_BEENDOWN)) { |
305 |
/* Don't duplicate messages */ |
306 |
if (node->state != NODESTATE_AISONLY) { |
307 |
if (cluster_is_quorate) { |