cluster: master - qdiskd: Make qdiskd stop crying wolf

Lon Hohberger lon at fedoraproject.org
Mon Nov 2 22:33:39 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=eb8ec0b6d1a38f12a03e52183595c31b96b75d85
Commit:        eb8ec0b6d1a38f12a03e52183595c31b96b75d85
Parent:        81d3d6a20cf95bb3da64b66fe56ac52ae521d6ae
Author:        Lon Hohberger <lhh at redhat.com>
AuthorDate:    Mon Nov 2 17:30:38 2009 -0500
Committer:     Lon Hohberger <lhh at redhat.com>
CommitterDate: Mon Nov 2 17:33:32 2009 -0500

qdiskd: Make qdiskd stop crying wolf

The I/O hang check timer in qdiskd was somehow being woken
up twice on rare occasion, causing qdiskd to falsely
report an I/O hang when there were no actual problems
with the system.

Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
 cman/qdisk/iostate.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/cman/qdisk/iostate.c b/cman/qdisk/iostate.c
index 4c67b8f..3d861ec 100644
--- a/cman/qdisk/iostate.c
+++ b/cman/qdisk/iostate.c
@@ -51,11 +51,12 @@ io_state(iostate_t state)
 	pthread_mutex_lock(&state_mutex);
 	main_state = state;
 	main_incarnation++; /* it does not matter if this wraps. */
-	pthread_mutex_unlock(&state_mutex);
 
 	/* Optimization: Don't signal on STATE_NONE */
 	if (state != STATE_NONE)
 		pthread_cond_broadcast(&state_cond);
+
+	pthread_mutex_unlock(&state_mutex);
 }
 
 


More information about the cluster-commits mailing list