Merge lp:~andreserl/ubuntu/natty/keepalived/lp619712 into lp:ubuntu/natty/keepalived

Proposed by Andres Rodriguez
Status: Needs review
Proposed branch: lp:~andreserl/ubuntu/natty/keepalived/lp619712
Merge into: lp:ubuntu/natty/keepalived
Diff against target: 40 lines (+28/-0)
2 files modified
debian/changelog (+7/-0)
debian/patches/fix_vrrp_race_condition.patch (+21/-0)
To merge this branch: bzr merge lp:~andreserl/ubuntu/natty/keepalived/lp619712
Reviewer Review Type Date Requested Status
Chuck Short Pending
Review via email: mp+54405@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

14. By Andres Rodriguez

debian/patches/fix_vrrp_race_condition.patch: Fix infinite loop in master
transition with sync groups. Patch taken from upstream (LP: #619712)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2010-10-30 20:01:07 +0000
+++ debian/changelog 2011-03-22 19:01:05 +0000
@@ -1,3 +1,10 @@
1keepalived (1:1.1.20-1ubuntu2) natty; urgency=low
2
3 * debian/patches/fix_vrrp_race_condition.patch: Fix infinite loop in master
4 transition with sync groups. Patch taken from upstream (LP: #619712)
5
6 -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 22 Mar 2011 14:46:18 -0400
7
1keepalived (1:1.1.20-1ubuntu1) natty; urgency=low8keepalived (1:1.1.20-1ubuntu1) natty; urgency=low
29
3 * Merge from debian unstable (LP: #668818), remaining changes:10 * Merge from debian unstable (LP: #668818), remaining changes:
411
=== added file 'debian/patches/fix_vrrp_race_condition.patch'
--- debian/patches/fix_vrrp_race_condition.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/fix_vrrp_race_condition.patch 2011-03-22 19:01:05 +0000
@@ -0,0 +1,21 @@
1Description: Fix VRRP Race Condition
2 Patch fixes an infinite loop in master transition with sync groups.
3 When transitioning to master state, keepalived might try to force
4 transition to master state of other VRRP instances into the same group
5 before their transition is complete. This leads to an infinite loop
6 with huge VRRP trafic.
7Author: Arjan Filius
8Origin: http://git.formilux.org/?p=people/alex/keepalived.git;a=commit;h=c75f8f16d9094f605f4cfffbc5b29e0d547f307b
9Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/keepalived/+bug/619712
10diff -Nur -x '*.orig' -x '*~' keepalived//keepalived/vrrp/vrrp_sync.c keepalived.new//keepalived/vrrp/vrrp_sync.c
11--- keepalived//keepalived/vrrp/vrrp_sync.c 2011-03-22 14:34:29.207856000 -0400
12+++ keepalived.new//keepalived/vrrp/vrrp_sync.c 2011-03-22 14:35:02.398020751 -0400
13@@ -154,7 +154,7 @@
14 /* Perform sync index */
15 for (e = LIST_HEAD(l); e; ELEMENT_NEXT(e)) {
16 isync = ELEMENT_DATA(e);
17- if (isync != vrrp) {
18+ if (isync != vrrp && isync->wantstate != VRRP_STATE_GOTO_MASTER) {
19 /* Force a new protocol master election */
20 isync->wantstate = VRRP_STATE_GOTO_MASTER;
21 log_message(LOG_INFO,

Subscribers

People subscribed via source and target branches