Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jan 2018 15:41:49 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r327698 - head/sys/geom/mirror
Message-ID:  <201801081541.w08Ffn7M052772@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Mon Jan  8 15:41:49 2018
New Revision: 327698
URL: https://svnweb.freebsd.org/changeset/base/327698

Log:
  Release the queue lock before restarting the worker loop.
  
  Reported and tested by:	pho
  MFC after:	3 days
  Sponsored by:	Dell EMC Isilon

Modified:
  head/sys/geom/mirror/g_mirror.c

Modified: head/sys/geom/mirror/g_mirror.c
==============================================================================
--- head/sys/geom/mirror/g_mirror.c	Mon Jan  8 15:41:48 2018	(r327697)
+++ head/sys/geom/mirror/g_mirror.c	Mon Jan  8 15:41:49 2018	(r327698)
@@ -1964,8 +1964,10 @@ g_mirror_worker(void *arg)
 					continue;
 				}
 			}
-			if (g_mirror_event_first(sc) != NULL)
+			if (g_mirror_event_first(sc) != NULL) {
+				mtx_unlock(&sc->sc_queue_mtx);
 				continue;
+			}
 			sx_xunlock(&sc->sc_lock);
 			MSLEEP(sc, &sc->sc_queue_mtx, PRIBIO | PDROP, "m:w1",
 			    timeout * hz);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801081541.w08Ffn7M052772>