From mboxrd@z Thu Jan 1 00:00:00 1970 From: teigland@sourceware.org Date: 9 Jul 2008 21:26:13 -0000 Subject: [Cluster-devel] Cluster Project branch, master, updated. cluster-2.99.05-58-g9172b52 Message-ID: <20080709212613.14058.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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=9172b524b6d638458695f9dc5fab25f051bdc941 The branch, master has been updated via 9172b524b6d638458695f9dc5fab25f051bdc941 (commit) from 2e429a3f1a4fa95dfae4365f8d3afd9bd25608f2 (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 9172b524b6d638458695f9dc5fab25f051bdc941 Author: David Teigland Date: Wed Jul 9 16:19:52 2008 -0500 gfs_controld: add journal for new node Wasn't adding a journal struct for a new node. Signed-off-by: David Teigland ----------------------------------------------------------------------- Summary of changes: group/gfs_controld/cpg-new.c | 28 +++++++++++++++++++++------- group/tool/Makefile | 1 + group/tool/main.c | 2 +- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/group/gfs_controld/cpg-new.c b/group/gfs_controld/cpg-new.c index 7070842..672b79d 100644 --- a/group/gfs_controld/cpg-new.c +++ b/group/gfs_controld/cpg-new.c @@ -1704,6 +1704,20 @@ static void create_new_journals(struct mountgroup *mg) log_group(mg, "create_new_journals %d gets jid %d", node->nodeid, node->jid); + + if (node->jid == JID_NONE) + continue; + + j = malloc(sizeof(struct journal)); + if (!j) { + log_error("create_new_journals no mem"); + continue; + } + memset(j, 0, sizeof(struct journal)); + + j->nodeid = nodeid; + j->jid = node->jid; + list_add(&j->list, &mg->journals); } } @@ -1880,13 +1894,13 @@ void process_recovery_uevent(char *table) if (!mg->first_recovery_needed) { if (!mg->local_recovery_busy) { - /* we expect a recovery_done uevent for our own journal - when we mount; shouldn't happen otherwise */ - - if (jid == mg->our_jid) - return; - - log_error("process_recovery_uevent jid %d unexpected", + /* This will happen in two known situations: + - we get a recovery_done uevent for our own journal + when we mount (jid == mg->our_jid) + - the first mounter will read first_done and clear + first_recovery_needed before seeing the change + uevent from others_may_mount */ + log_group(mg, "process_recovery_uevent jid %d ignore", jid); return; } diff --git a/group/tool/Makefile b/group/tool/Makefile index e7cbd58..d2db6c1 100644 --- a/group/tool/Makefile +++ b/group/tool/Makefile @@ -17,6 +17,7 @@ CFLAGS += -I${dlmcontrolincdir} CFLAGS += -I$(S)/../../fence/libfenced CFLAGS += -I$(S)/../libgfscontrol CFLAGS += -I${incdir} +CFLAGS += -I${KERNEL_SRC}/include/ LDFLAGS += -L../lib -lgroup LDFLAGS += -L${dlmcontrollibdir} -ldlmcontrol diff --git a/group/tool/main.c b/group/tool/main.c index e3e1ee5..33e7bd1 100644 --- a/group/tool/main.c +++ b/group/tool/main.c @@ -488,7 +488,7 @@ static void gfs_controld_list(void) if (rv < 0 || !node_count) goto do_nodeids; - qsort(nodes, node_count, sizeof(struct dlmc_node), + qsort(nodes, node_count, sizeof(struct gfsc_node), gfsc_node_compare); do_nodeids: hooks/post-receive -- Cluster Project