public inbox for firstname.lastname@example.org
help / color / mirror / Atom feed
* cluster: RHEL5 - clogd: Fix for bugs 474174 and 491340
@ 2009-07-08 22:18 Jonathan Brassow
0 siblings, 0 replies; only message in thread
From: Jonathan Brassow @ 2009-07-08 22:18 UTC (permalink / raw)
Author: Jonathan Brassow <email@example.com>
AuthorDate: Wed Jul 8 17:16:19 2009 -0500
Committer: Jonathan Brassow <firstname.lastname@example.org>
CommitterDate: Wed Jul 8 17:16:19 2009 -0500
clogd: Fix for bugs 474174 and 491340
Whether to continue mirror recovery or not was being queued
off of a variable that was set by doing (x - 1). However,
when 'x' was 0 the result was a very large number (unsigned).
When this large number was compared against the number of
total regions in the mirror, it was determined that recovery
was finished. The fix is simply to do:
y = x ? (x - 1) : 0;
y = (x - 1);
cmirror/src/functions.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmirror/src/functions.c b/cmirror/src/functions.c
index 0523e9c..3e0d15f 100644
@@ -1518,9 +1518,9 @@ static int clog_is_remote_recovering(struct clog_tfr *tfr)
* Remember, 'lc->sync_search' is 1 plus the region
* currently being recovered. So, we must take off 1
- * to account for that.
+ * to account for that - UNLESS sync_search IS 0!
- pkg->in_sync_hint = (lc->sync_search - 1);
+ pkg->in_sync_hint = lc->sync_search ? (lc->sync_search - 1) : 0;
LOG_DBG("[%s] Region is %s: %llu",
(region == lc->recovering_region) ?
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-07-08 22:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-08 22:18 cluster: RHEL5 - clogd: Fix for bugs 474174 and 491340 Jonathan Brassow
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).