Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=3e493a0883e...
Commit: 3e493a0883ef1fdc173ff25e48a3623cef7f2b0e
Parent: 18ddd5d171e09b73125f82930429eb383851a294
Author: John Ruemker <jruemker(a)redhat.com>
AuthorDate: Wed Mar 13 11:17:41 2013 -0400
Committer: Christine Caulfield <ccaulfie(a)redhat.com>
CommitterDate: Fri Jul 19 12:51:41 2013 +0100
qdiskd: Do not count missed updates from offline nodes
After qdiskd initialization, nodes that have not yet been online may
have missed updates counted, leading to eviction. This change skips
counting missed updates for nodes with state S_NONE.
Resolves: rhbz#920358
---
cman/qdisk/main.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/cman/qdisk/main.c b/cman/qdisk/main.c
index 46ccc39..49ea3da 100644
--- a/cman/qdisk/main.c
+++ b/cman/qdisk/main.c
@@ -196,12 +196,14 @@ read_node_blocks(qd_ctx *ctx, node_info_t *ni, int max)
/* Unchanged timestamp: miss */
if ((sb->ps_timestamp == ni[x].ni_last_seen) &&
(ni[x].ni_state != S_EXIT)) {
- /* XXX check for average + allow grace */
- ni[x].ni_misses++;
- if (ni[x].ni_misses > 1) {
- logt_print(LOG_DEBUG,
- "Node %d missed an update (%d/%d)\n",
- x+1, ni[x].ni_misses, ctx->qc_tko);
+ if (ni[x].ni_state != S_NONE) {
+ /* XXX check for average + allow grace */
+ ni[x].ni_misses++;
+ if (ni[x].ni_misses > 1) {
+ logt_print(LOG_DEBUG,
+ "Node %d missed an update (%d/%d)\n",
+ x+1, ni[x].ni_misses, ctx->qc_tko);
+ }
}
continue;
}