Blame SOURCES/0006-libmultipath-timeout-on-unresponsive-tur-thread.patch

5c2e41
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
5c2e41
From: Benjamin Marzinski <bmarzins@redhat.com>
5c2e41
Date: Wed, 10 Oct 2018 11:15:30 -0500
5c2e41
Subject: [PATCH] libmultipath: timeout on unresponsive tur thread
5c2e41
5c2e41
If the tur checker thread has been cancelled but isn't responding,
5c2e41
timeout instead of doing a sync check.  This will keep one bad
5c2e41
device from impacting all of multipathd.
5c2e41
5c2e41
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
5c2e41
---
5c2e41
 libmultipath/checkers/tur.c | 6 +++---
5c2e41
 1 file changed, 3 insertions(+), 3 deletions(-)
5c2e41
5c2e41
diff --git a/libmultipath/checkers/tur.c b/libmultipath/checkers/tur.c
5c2e41
index 86c0cdc..b2a2170 100644
5c2e41
--- a/libmultipath/checkers/tur.c
5c2e41
+++ b/libmultipath/checkers/tur.c
5c2e41
@@ -305,10 +305,10 @@ int libcheck_check(struct checker * c)
5c2e41
 	} else {
5c2e41
 		if (uatomic_read(&ct->holders) > 1) {
5c2e41
 			/* The thread has been cancelled but hasn't
5c2e41
-			 * quilt. Fail back to synchronous mode */
5c2e41
-			condlog(3, "%d:%d : tur checker failing back to sync",
5c2e41
+			 * quit. exit with timeout. */
5c2e41
+			condlog(3, "%d:%d : tur thread not responding",
5c2e41
 				major(ct->devt), minor(ct->devt));
5c2e41
-			return tur_check(c->fd, c->timeout, c->message);
5c2e41
+			return PATH_TIMEOUT;
5c2e41
 		}
5c2e41
 		/* Start new TUR checker */
5c2e41
 		pthread_mutex_lock(&ct->lock);
5c2e41
-- 
5c2e41
2.7.4
5c2e41