svn commit: r327698 - head/sys/geom/mirror

Mark Johnston markj at FreeBSD.org
Mon Jan 8 15:41:50 UTC 2018


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);


More information about the svn-src-head mailing list