cluster: RHEL54 - qdiskd: Make qdiskd stop crying wolf

Lon Hohberger lon at fedoraproject.org
Mon Nov 16 15:17:33 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=24e3de3487263c918c7be581209243bb84f1d265
Commit:        24e3de3487263c918c7be581209243bb84f1d265
Parent:        d8b5762fbe018bba8282492d41f6231d2ce8930e
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 16 10:17:19 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.

Resolves: rhbz#532773

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 f4f2329..65b4d50 100644
--- a/cman/qdisk/iostate.c
+++ b/cman/qdisk/iostate.c
@@ -49,11 +49,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