[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-174-ge2db905



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=e2db9051981c2cf8fb455c311d32c26180f2f5a4

The branch, RHEL5 has been updated
       via  e2db9051981c2cf8fb455c311d32c26180f2f5a4 (commit)
      from  fd23d8d2b677fc3116e0fa0ce53b73feea47a06f (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 e2db9051981c2cf8fb455c311d32c26180f2f5a4
Author: Jonathan Brassow <jbrassow redhat com>
Date:   Thu Jul 24 11:57:06 2008 -0500

    clogd: Bug 441564: Renaming a mirror during sync causes the sync to stop
    
    Wasn't resetting 'recovering_region' when suspending.  This caused
    the log server to think that a region was being recovered when it
    resumed.  Thus it would wait for that to finish before assigning
    new work.

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

Summary of changes:
 cmirror/src/functions.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/cmirror/src/functions.c b/cmirror/src/functions.c
index d41accf..a086a72 100644
--- a/cmirror/src/functions.c
+++ b/cmirror/src/functions.c
@@ -648,6 +648,8 @@ static int clog_postsuspend(struct clog_tfr *tfr)
 	LOG_DBG("[%s] clog_postsuspend: leaving CPG", SHORT_UUID(lc->uuid));
 	destroy_cluster_cpg(tfr->uuid);
 
+	lc->recovering_region = (uint64_t)-1;
+
 	return 0;
 }
 
@@ -1099,6 +1101,7 @@ static int clog_get_resync_work(struct clog_tfr *tfr)
 		return -EINVAL;
 
 	tfr->data_size = sizeof(*pkg);
+	pkg->i = 0;
 
 	if (lc->sync_search >= lc->region_count) {
 		/*
@@ -1106,7 +1109,6 @@ static int clog_get_resync_work(struct clog_tfr *tfr)
 		 * by resetting sync_search... but not to many times.
 		 */
 		LOG_DBG("[%s]  Recovery has finished", SHORT_UUID(lc->uuid));
-		pkg->i = 0;
 		return 0;
 	}
 
@@ -1114,7 +1116,6 @@ static int clog_get_resync_work(struct clog_tfr *tfr)
 		LOG_DBG("[%s] Someone is already recovering region %llu",
 			SHORT_UUID(lc->uuid),
 			(unsigned long long)lc->recovering_region);
-		pkg->i = 0;
 		return 0;
 	}
 
@@ -1148,10 +1149,8 @@ static int clog_get_resync_work(struct clog_tfr *tfr)
 				    lc->region_count,
 				    lc->sync_search);
 
-	if (pkg->r >= lc->region_count) {
-		pkg->i = 0;
+	if (pkg->r >= lc->region_count)
 		return 0;
-	}
 
 	lc->sync_search = pkg->r + 1;
 


hooks/post-receive
--
Cluster Project


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]