[Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-69-gc9da578

jbrassow at sourceware.org jbrassow at sourceware.org
Fri May 9 13:32:12 UTC 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=c9da57823a1b503c932472e107c87e51ab17f0cd

The branch, RHEL5 has been updated
       via  c9da57823a1b503c932472e107c87e51ab17f0cd (commit)
      from  e4705a1ebd1977ca334fd5d27242abb4046bde42 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c9da57823a1b503c932472e107c87e51ab17f0cd
Author: Jonathan Brassow <jbrassow at redhat.com>
Date:   Fri May 9 08:31:29 2008 -0500

    clogd:  Pull out an error message for something that is not an error
    
    It is perfectly valid for CPG to send us messages after cpg_leave
    but before receiving the config callback.  Therefore, do not
    print out an error when it happens.

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

Summary of changes:
 cmirror/src/cluster.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/cmirror/src/cluster.c b/cmirror/src/cluster.c
index afc31c1..19b3ef0 100644
--- a/cmirror/src/cluster.c
+++ b/cmirror/src/cluster.c
@@ -98,9 +98,11 @@ int cluster_send(struct clog_tfr *tfr)
 	iov.iov_base = tfr;
 	iov.iov_len = sizeof(struct clog_tfr) + tfr->data_size;
 
-	if (entry->cpg_state != VALID)
+	if (entry->cpg_state != VALID) {
 		LOG_ERROR("[%s] Attempt to send request to cluster while CPG not valid: "
 			  "request = %s", SHORT_UUID(tfr->uuid), RQ_TYPE(tfr->request_type));
+		return -EINVAL;
+	}
 
 	do {
 		r = cpg_mcast_joined(entry->handle, CPG_TYPE_AGREED, &iov, 1);
@@ -739,14 +741,13 @@ static void cpg_message_callback(cpg_handle_t handle, struct cpg_name *gname,
 		return;
 	}
 
-	if (match->cpg_state != VALID) {
-		LOG_ERROR("[%s]  Message received after cpg_leave "
-			  "from %u: [%s/%llu] - ignoring",
-			  SHORT_UUID(tfr->uuid), nodeid,
-			  RQ_TYPE(tfr->request_type & ~DM_CLOG_RESPONSE),
-			  (unsigned long long)tfr->seq);
+	/*
+	 * We can receive messages after we do a cpg_leave but before we
+	 * get our config callback.  However, since we can't respond after
+	 * leaving, we simply return.
+	 */
+	if (match->cpg_state != VALID)
 		return;
-	}
 
 	i_am_server = (my_cluster_id == match->lowest_id) ? 1 : 0;
 


hooks/post-receive
--
Cluster Project




More information about the Cluster-devel mailing list