From owner-svn-src-all@FreeBSD.ORG Fri Apr 12 17:15:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BEF0F327; Fri, 12 Apr 2013 17:15:47 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B162D1315; Fri, 12 Apr 2013 17:15:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3CHFlA2083808; Fri, 12 Apr 2013 17:15:47 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3CHFlTw083807; Fri, 12 Apr 2013 17:15:47 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201304121715.r3CHFlTw083807@svn.freebsd.org> From: Alexander Motin Date: Fri, 12 Apr 2013 17:15:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r249414 - stable/9/sys/geom X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Apr 2013 17:15:47 -0000 Author: mav Date: Fri Apr 12 17:15:47 2013 New Revision: 249414 URL: http://svnweb.freebsd.org/changeset/base/249414 Log: MFC r249161: Following r241022, replace iteration over the provider list on media events by taking first one and asserting that there is no others. Modified: stable/9/sys/geom/geom_disk.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/geom/geom_disk.c ============================================================================== --- stable/9/sys/geom/geom_disk.c Fri Apr 12 17:01:07 2013 (r249413) +++ stable/9/sys/geom/geom_disk.c Fri Apr 12 17:15:47 2013 (r249414) @@ -657,8 +657,12 @@ disk_media_changed(struct disk *dp, int gp = dp->d_geom; if (gp != NULL) { - LIST_FOREACH(pp, &gp->provider, provider) + pp = LIST_FIRST(&gp->provider); + if (pp != NULL) { + KASSERT(LIST_NEXT(pp, provider) == NULL, + ("geom %p has more than one provider", gp)); g_media_changed(pp, flag); + } } } @@ -670,8 +674,12 @@ disk_media_gone(struct disk *dp, int fla gp = dp->d_geom; if (gp != NULL) { - LIST_FOREACH(pp, &gp->provider, provider) + pp = LIST_FIRST(&gp->provider); + if (pp != NULL) { + KASSERT(LIST_NEXT(pp, provider) == NULL, + ("geom %p has more than one provider", gp)); g_media_gone(pp, flag); + } } }