[Midnightbsd-cvs] src [9044] trunk/sys/geom/geom_disk.c: use the toplogy lock to protect list of providers.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Oct 1 05:58:16 EDT 2016


Revision: 9044
          http://svnweb.midnightbsd.org/src/?rev=9044
Author:   laffer1
Date:     2016-10-01 05:58:16 -0400 (Sat, 01 Oct 2016)
Log Message:
-----------
use the toplogy lock to protect list of providers.

Modified Paths:
--------------
    trunk/sys/geom/geom_disk.c

Modified: trunk/sys/geom/geom_disk.c
===================================================================
--- trunk/sys/geom/geom_disk.c	2016-10-01 09:57:38 UTC (rev 9043)
+++ trunk/sys/geom/geom_disk.c	2016-10-01 09:58:16 UTC (rev 9044)
@@ -628,9 +628,14 @@
 	struct g_provider *pp;
 
 	gp = dp->d_geom;
-	if (gp != NULL)
-		LIST_FOREACH(pp, &gp->provider, provider)
+	if (gp != NULL) {
+		pp = LIST_FIRST(&gp->provider);
+		if (pp != NULL) {
+			KASSERT(LIST_NEXT(pp, provider) == NULL,
+			    ("geom %p has more than one provider", gp));
 			g_wither_provider(pp, ENXIO);
+		}
+	}
 }
 
 void



More information about the Midnightbsd-cvs mailing list