[SCM] CTDB repository - branch 1.0.112 updated - ctdb-1.0.111-84-g1095be7

Ronnie Sahlberg sahlberg at samba.org
Fri May 21 01:05:45 MDT 2010


The branch, 1.0.112 has been updated
       via  1095be7fe3c0f8ab810f44d4fe8f22d6fbad5720 (commit)
       via  1ab91b749c24193d0f9bf65c7e9fe9598f8414cc (commit)
      from  e4010008c9e01f6ef32d845cccdc786411d3b8c3 (commit)

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


- Log -----------------------------------------------------------------
commit 1095be7fe3c0f8ab810f44d4fe8f22d6fbad5720
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri May 21 14:32:18 2010 +1000

    New version 1.0.112-21
    
    * Fri May 21 2010 : Version 1.0.112-21
     - Fix a bug where we would fail to remove the natgw configuration
       and would leave a ip address for natgw still remaining on loopback.
       BZ 58317
     - In the ctdb command line tool, we do not wait long enough for the ipreallocate
       command to finish on the recovery daemon. which sometimes would timeout if the
       recovery daemon was busy, or we had rolling recoveries.
       BZ 61783
     - During failed recoveries we could get in a state where recovery attempts stopped
       while database priority level 2 or 3 remain frozen.
       BZ 63951

commit 1ab91b749c24193d0f9bf65c7e9fe9598f8414cc
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri May 21 14:25:47 2010 +1000

    It was possible for ->recovery_mode to get out of sync with the new three db priorities in such a way that
    ->recovery_mode was set to normal   but database priorities leven2 or 3 was still set to frozen.
    
    causing the recovery daemon to fail to detect that a recovery was needed to recover access to the database.
    
    BZ63951

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

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


Changeset truncated at 500 lines:

diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index fbd7a2a..d147a3f 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -5,7 +5,7 @@ Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
 Name: ctdb
 Version: 1.0.112
-Release: 20
+Release: 21
 Epoch: 0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -125,6 +125,17 @@ rm -rf $RPM_BUILD_ROOT
 %{_docdir}/ctdb/tests/bin/ctdb_transaction
 
 %changelog
+* Fri May 21 2010 : Version 1.0.112-21
+ - Fix a bug where we would fail to remove the natgw configuration
+   and would leave a ip address for natgw still remaining on loopback.
+   BZ 58317
+ - In the ctdb command line tool, we do not wait long enough for the ipreallocate
+   command to finish on the recovery daemon. which sometimes would timeout if the
+   recovery daemon was busy, or we had rolling recoveries.
+   BZ 61783
+ - During failed recoveries we could get in a state where recovery attempts stopped
+   while database priority level 2 or 3 remain frozen.
+   BZ 63951
 * Tue May 11 2010 : Version 1.0.112-20
  - Add number of recoveries done to the ctdb statistics output.
  - Use the fuill range for IDR values. 
diff --git a/server/ctdb_control.c b/server/ctdb_control.c
index a878550..ed7324c 100644
--- a/server/ctdb_control.c
+++ b/server/ctdb_control.c
@@ -162,7 +162,16 @@ static int32_t ctdb_control_dispatch(struct ctdb_context *ctdb,
 		return ctdb_control_push_db(ctdb, indata);
 
 	case CTDB_CONTROL_GET_RECMODE: {
-		return ctdb->recovery_mode;
+		int i;
+		if (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE) {
+			return CTDB_RECOVERY_ACTIVE;
+		}		  
+		for (i=1; i<=NUM_DB_PRIORITIES; i++) {
+			if (ctdb->freeze_mode[i] == CTDB_FREEZE_FROZEN) {
+				return CTDB_RECOVERY_ACTIVE;
+			}
+		}
+		return CTDB_RECOVERY_NORMAL;
 	}
 
 	case CTDB_CONTROL_SET_RECMASTER: {


-- 
CTDB repository


More information about the samba-cvs mailing list