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