[SCM] CTDB repository - branch master updated - ctdb-1.0.85-19-g5cdc046

Ronnie Sahlberg sahlberg at samba.org
Tue Jun 30 02:00:21 GMT 2009


The branch, master has been updated
       via  5cdc04669db8c2ddbbff5af82307a16e8d807b83 (commit)
       via  cb8dd896914d4e44ad7b8bb000176a7c78f394ae (commit)
       via  c17dafc79bec25bbb796478c33f503503d382a20 (commit)
       via  75dea671f68ac6649095357c36b3697a927721e9 (commit)
       via  65b94d280731df3245b26d69f39acfaf5bccf0d8 (commit)
       via  9a2c4c3ed09ac9ea781d06999d11e5c3b5b4a97a (commit)
       via  945f04f06a425fd3940a2e4b832c63223a3f26b3 (commit)
       via  a73f316cb9cec877dc0bc3f7baa21be1b1454273 (commit)
      from  841a2d9635341baa1a6dd9ec558fc7cadb4e3af4 (commit)

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


- Log -----------------------------------------------------------------
commit 5cdc04669db8c2ddbbff5af82307a16e8d807b83
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:17:05 2009 +1000

    dont try sending a keepalive if the transport is down

commit cb8dd896914d4e44ad7b8bb000176a7c78f394ae
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:16:13 2009 +1000

    Dont even try allocating and sending a CALL packet if the transport is down

commit c17dafc79bec25bbb796478c33f503503d382a20
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:14:58 2009 +1000

    failing a dmaster send due to the transport being down is fatal

commit 75dea671f68ac6649095357c36b3697a927721e9
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:13:15 2009 +1000

    if we fail a dmaster migration due to the transport being down, then that is a fatal condition.

commit 65b94d280731df3245b26d69f39acfaf5bccf0d8
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:10:27 2009 +1000

    dont try to send error packets if the transport is down

commit 9a2c4c3ed09ac9ea781d06999d11e5c3b5b4a97a
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:09:28 2009 +1000

    dont even try to send a message from the main daemon if the transport is down

commit 945f04f06a425fd3940a2e4b832c63223a3f26b3
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 12:03:12 2009 +1000

    Dont try to allocate and send packets if the transport is down

commit a73f316cb9cec877dc0bc3f7baa21be1b1454273
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Tue Jun 30 11:55:42 2009 +1000

    dont even try to allocate a packet if the transport is down since it will fail

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

Summary of changes:
 server/ctdb_call.c    |   33 ++++++++++++++++++++++++++++++++-
 server/ctdb_control.c |    5 +++++
 server/ctdb_daemon.c  |    5 +++++
 3 files changed, 42 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/server/ctdb_call.c b/server/ctdb_call.c
index ca6fba7..b666a9e 100644
--- a/server/ctdb_call.c
+++ b/server/ctdb_call.c
@@ -69,6 +69,11 @@ static void ctdb_send_error(struct ctdb_context *ctdb,
 	char *msg;
 	int msglen, len;
 
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed to send error. Transport is DOWN\n"));
+		return;
+	}
+
 	va_start(ap, fmt);
 	msg = talloc_vasprintf(ctdb, fmt, ap);
 	if (msg == NULL) {
@@ -141,7 +146,12 @@ static void ctdb_send_dmaster_reply(struct ctdb_db_context *ctdb_db,
 	header->dmaster = new_dmaster;
 	ret = ctdb_ltdb_store(ctdb_db, key, header, data);
 	if (ret != 0) {
-		ctdb_fatal(ctdb, "ctdb_req_dmaster unable to update dmaster");
+		ctdb_fatal(ctdb, "ctdb_send_dmaster_reply unable to update dmaster");
+		return;
+	}
+
+	if (ctdb->methods == NULL) {
+		ctdb_fatal(ctdb, "ctdb_send_dmaster_reply cant update dmaster sicne transport is down");
 		return;
 	}
 
@@ -186,6 +196,11 @@ static void ctdb_call_send_dmaster(struct ctdb_db_context *ctdb_db,
 	int len;
 	uint32_t lmaster = ctdb_lmaster(ctdb, key);
 
+	if (ctdb->methods == NULL) {
+		ctdb_fatal(ctdb, "Failed ctdb_call_send_dmaster since transport is down");
+		return;
+	}
+
 	if (lmaster == ctdb->pnn) {
 		ctdb_send_dmaster_reply(ctdb_db, header, *key, *data, 
 					c->hdr.srcnode, c->hdr.reqid);
@@ -367,6 +382,12 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
 	struct ctdb_call *call;
 	struct ctdb_db_context *ctdb_db;
 
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed ctdb_request_call. Transport is DOWN\n"));
+		return;
+	}
+
+
 	ctdb_db = find_ctdb_db(ctdb, c->db_id);
 	if (!ctdb_db) {
 		ctdb_send_error(ctdb, hdr, -1,
@@ -663,6 +684,11 @@ struct ctdb_call_state *ctdb_daemon_call_send_remote(struct ctdb_db_context *ctd
 	struct ctdb_call_state *state;
 	struct ctdb_context *ctdb = ctdb_db->ctdb;
 
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed send packet. Transport is down\n"));
+		return NULL;
+	}
+
 	state = talloc_zero(ctdb_db, struct ctdb_call_state);
 	CTDB_NO_MEMORY_NULL(ctdb, state);
 	state->call = talloc(state, struct ctdb_call);
@@ -742,6 +768,11 @@ void ctdb_send_keepalive(struct ctdb_context *ctdb, uint32_t destnode)
 {
 	struct ctdb_req_keepalive *r;
 	
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed to send keepalive. Transport is DOWN\n"));
+		return;
+	}
+
 	r = ctdb_transport_allocate(ctdb, ctdb, CTDB_REQ_KEEPALIVE,
 				    sizeof(struct ctdb_req_keepalive), 
 				    struct ctdb_req_keepalive);
diff --git a/server/ctdb_control.c b/server/ctdb_control.c
index 4b2498f..8d45543 100644
--- a/server/ctdb_control.c
+++ b/server/ctdb_control.c
@@ -607,6 +607,11 @@ int ctdb_daemon_send_control(struct ctdb_context *ctdb, uint32_t destnode,
 	struct ctdb_control_state *state;
 	size_t len;
 
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed to send control. Transport is DOWN\n"));
+		return -1;
+	}
+
 	if (((destnode == CTDB_BROADCAST_VNNMAP) || 
 	     (destnode == CTDB_BROADCAST_ALL) ||
 	     (destnode == CTDB_BROADCAST_CONNECTED)) && 
diff --git a/server/ctdb_daemon.c b/server/ctdb_daemon.c
index 861c90c..1a94cfc 100644
--- a/server/ctdb_daemon.c
+++ b/server/ctdb_daemon.c
@@ -1000,6 +1000,11 @@ int ctdb_daemon_send_message(struct ctdb_context *ctdb, uint32_t pnn,
 	struct ctdb_req_message *r;
 	int len;
 
+	if (ctdb->methods == NULL) {
+		DEBUG(DEBUG_ERR,(__location__ " Failed to send message. Transport is DOWN\n"));
+		return -1;
+	}
+
 	/* see if this is a message to ourselves */
 	if (pnn == ctdb->pnn) {
 		return ctdb_local_message(ctdb, srvid, data);


-- 
CTDB repository


More information about the samba-cvs mailing list