The branch, master has been updated
       via  d36f6a5ceb57364449b246a4e6664a7da6cb0040 (commit)
       via  5833e6b99d9afaf35dc8354df8676b9115418b23 (commit)
      from  cb14ee57dd0a589242da1ac2830bb7939df460a5 (commit)

http://gitweb.samba.org/?p=tridge/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d36f6a5ceb57364449b246a4e6664a7da6cb0040
Author: Ronnie Sahlberg <[EMAIL PROTECTED]>
Date:   Fri May 9 13:47:38 2008 +1000

    update to new version

commit 5833e6b99d9afaf35dc8354df8676b9115418b23
Author: Ronnie Sahlberg <[EMAIL PROTECTED]>
Date:   Fri May 9 13:41:31 2008 +1000

    fix a bug where the public ip addresses of the cluster would not be 
redistributed across the cluster after a recovery was performed.
    
    Remove a bogus check inside the recovery daemon that ONLY redistributed 
public addresses IFF the local node had/served public addresses.
    This was a valid optimization long ago when we enforced that all nodes must 
use the same public addresses file   but is invalid today where we can have 
different public addresses configs on all nodes  and even have some nodes that 
do NOT use public addresses at all.

-----------------------------------------------------------------------

Summary of changes:
 packaging/RPM/ctdb.spec |    8 +++++++-
 server/ctdb_recoverd.c  |   16 ++++++----------
 2 files changed, 13 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/RPM/ctdb.spec b/packaging/RPM/ctdb.spec
index c0ed54c..689e70f 100644
--- a/packaging/RPM/ctdb.spec
+++ b/packaging/RPM/ctdb.spec
@@ -5,7 +5,7 @@ Vendor: Samba Team
 Packager: Samba Team <[EMAIL PROTECTED]>
 Name: ctdb
 Version: 1.0
-Release: 35
+Release: 36
 Epoch: 0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -120,6 +120,12 @@ fi
 %{_includedir}/ctdb_private.h
 
 %changelog
+* Fri May 9 2008 : Version 1.0.36
+ - fix a memory corruption bug that could cause the recovery daemon to crash.
+ - fix a bug with distributing public ip addresses during recovery.
+   If the node that is the recovery master did NOT use public addresses,
+   then it assumed that no other node in the cluster used them either and
+   thus skipped the entire step of reallocating public addresses.
 * Wed May 7 2008 : Version 1.0.35
  - During recovery, when we define the new set of lmasters (vnnmap)
    only consider those nodes that have the can-be-lmaster capability
diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c
index a40dfbb..95dd94f 100644
--- a/server/ctdb_recoverd.c
+++ b/server/ctdb_recoverd.c
@@ -1452,18 +1452,14 @@ static int do_recovery(struct ctdb_recoverd *rec,
        DEBUG(DEBUG_NOTICE, (__location__ " Recovery - updated flags\n"));
 
        /*
-         if enabled, tell nodes to takeover their public IPs
+         tell nodes to takeover their public IPs
         */
-       if (ctdb->vnn) {
-               rec->need_takeover_run = false;
-               ret = ctdb_takeover_run(ctdb, nodemap);
-               if (ret != 0) {
-                       DEBUG(DEBUG_ERR, (__location__ " Unable to setup public 
takeover addresses\n"));
-                       return -1;
-               }
-               DEBUG(DEBUG_INFO, (__location__ " Recovery - done takeover\n"));
+       rec->need_takeover_run = false;
+       ret = ctdb_takeover_run(ctdb, nodemap);
+       if (ret != 0) {
+               DEBUG(DEBUG_ERR, (__location__ " Unable to setup public 
takeover addresses\n"));
+               return -1;
        }
-
        DEBUG(DEBUG_NOTICE, (__location__ " Recovery - takeip finished\n"));
 
        /* execute the "recovered" event script on all nodes */


-- 
CTDB repository

Reply via email to