[SCM] CTDB repository - branch master updated - ctdb-1.10-89-g62b7fe8

Ronnie Sahlberg sahlberg at samba.org
Tue Feb 22 22:23:38 MST 2011


The branch, master has been updated
       via  62b7fe853db37c0a90e48a0332a3426a8dcb4ed8 (commit)
       via  87b279027616cffbcedfd534ac0032cd51238dfe (commit)
      from  e075670dee8e6ecaba54986f87a85be3d0528b6b (commit)

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


- Log -----------------------------------------------------------------
commit 62b7fe853db37c0a90e48a0332a3426a8dcb4ed8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Feb 18 11:21:19 2011 +1100

    ctdb_req_dmaster from non-master
    
    If we find a situatior where we get a stray packet with the wrong
    dmaster, dont suicide with ctdb_fatal() since this is too disruptive.
    Just drop the stray packet and force a recovery to make sure all is good again.
    
    CQ S1022004

commit 87b279027616cffbcedfd534ac0032cd51238dfe
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Fri Feb 18 10:44:55 2011 +1100

    50.samba : Tell winbind about every time we add/remove and ip from the node
    
    CQ S1021636

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

Summary of changes:
 config/events.d/50.samba |    7 +++++++
 server/ctdb_call.c       |    4 +++-
 2 files changed, 10 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/config/events.d/50.samba b/config/events.d/50.samba
index a1f99fb..415b89f 100755
--- a/config/events.d/50.samba
+++ b/config/events.d/50.samba
@@ -270,6 +270,13 @@ case "$1" in
 	}
 	;;
 
+     takeip|releaseip)
+	iface=$2
+	ip=$3
+	maskbits=$4
+
+	smbcontrol winbindd ip-dropped $ip >/dev/null 2>/dev/null
+	;;
     *)
 	ctdb_standard_event_handler "$@"
 	;;
diff --git a/server/ctdb_call.c b/server/ctdb_call.c
index d6c0866..be6e8f9 100644
--- a/server/ctdb_call.c
+++ b/server/ctdb_call.c
@@ -369,7 +369,9 @@ void ctdb_request_dmaster(struct ctdb_context *ctdb, struct ctdb_req_header *hdr
 			 (unsigned long long)c->rsn, (unsigned long long)header.rsn, c->hdr.reqid,
 			 (key.dsize >= 4)?(*(uint32_t *)key.dptr):0));
 		if (header.rsn != 0 || header.dmaster != ctdb->pnn) {
-			ctdb_fatal(ctdb, "ctdb_req_dmaster from non-master");
+			DEBUG(DEBUG_ERR,("ctdb_req_dmaster from non-master. Force a recovery.\n"));
+
+			ctdb->recovery_mode = CTDB_RECOVERY_ACTIVE;
 			return;
 		}
 	}


-- 
CTDB repository


More information about the samba-cvs mailing list