[SCM] CTDB repository - branch master updated - d36f6a5ceb57364449b246a4e6664a7da6cb0040

Andrew Tridgell tridge at samba.org
Fri May 9 06:14:39 GMT 2008


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 <ronniesahlberg at gmail.com>
Date:   Fri May 9 13:47:38 2008 +1000

    update to new version

commit 5833e6b99d9afaf35dc8354df8676b9115418b23
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
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 <samba at samba.org>
 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


More information about the samba-cvs mailing list