From owner-svn-src-head@FreeBSD.ORG Wed Sep 26 17:24:12 2012 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A202106574B; Wed, 26 Sep 2012 17:24:12 +0000 (UTC) (envelope-from jdp@polstra.com) Received: from rock.polstra.com (rock.polstra.com [64.119.0.113]) by mx1.freebsd.org (Postfix) with ESMTP id 7223D8FC12; Wed, 26 Sep 2012 17:24:12 +0000 (UTC) Received: from amps.polstra.com (adsl-207-32-175-29.rockisland.net [207.32.175.29]) (authenticated bits=0) by rock.polstra.com (8.14.5/8.14.5) with ESMTP id q8QGsI2q016423 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 26 Sep 2012 09:54:18 -0700 (PDT) (envelope-from jdp@polstra.com) Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: John Polstra In-Reply-To: <20120926072005.GH1391@garage.freebsd.pl> Date: Wed, 26 Sep 2012 09:54:18 -0700 Content-Transfer-Encoding: 7bit Message-Id: <0E55091C-5960-4961-BFDA-6484304FAB1D@polstra.com> References: <201209221241.q8MCfnhJ067937@svn.freebsd.org> <20120925233712.GA26920@nargothrond.kdm.org> <20120926072005.GH1391@garage.freebsd.pl> To: Pawel Jakub Dawidek X-Mailer: Apple Mail (2.1085) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (rock.polstra.com [64.119.0.113]); Wed, 26 Sep 2012 09:54:19 -0700 (PDT) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, "Kenneth D. Merry" , phk@FreeBSD.org Subject: Re: svn commit: r240822 - head/sys/geom X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2012 17:24:12 -0000 On Sep 26, 2012, at 12:20 AM, Pawel Jakub Dawidek wrote: > We might be able to change the topology lock to LIST_FOREACH_SAFE(), as > g_wither_provider() can only destroy current provider. This is because > CAM own the geom and nobody should be able to mess with its provider's > list, apart from CAM itself. So I'd need to know how CAM ensures that > two disk_gone() cannot be called for one geom. The answer might be that > those geoms have always only one provider, but then I cannot explain why > we have loop there. Maybe jdp@ will remember why. No, I'm sorry but I don't remember. It's been a long time! John