From owner-freebsd-geom@FreeBSD.ORG Thu Oct 25 08:54:13 2012 Return-Path: Delivered-To: freebsd-geom@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 01E6C6D1 for ; Thu, 25 Oct 2012 08:54:12 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 4AAF48FC12 for ; Thu, 25 Oct 2012 08:54:11 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id LAA05430; Thu, 25 Oct 2012 11:54:09 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1TRJCb-000JgN-As; Thu, 25 Oct 2012 11:54:09 +0300 Message-ID: <5088FE30.2030903@FreeBSD.org> Date: Thu, 25 Oct 2012 11:54:08 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121013 Thunderbird/16.0.1 MIME-Version: 1.0 To: Poul-Henning Kamp Subject: Re: geom access method and g_topology_lock References: <5088E0E0.2080307@FreeBSD.org> <28185.1351150111@critter.freebsd.dk> <5088FA15.30205@FreeBSD.org> <70960.1351154478@critter.freebsd.dk> In-Reply-To: <70960.1351154478@critter.freebsd.dk> X-Enigmail-Version: 1.4.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-geom@FreeBSD.org X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Oct 2012 08:54:13 -0000 on 25/10/2012 11:41 Poul-Henning Kamp said the following: > -------- > In message <5088FA15.30205@FreeBSD.org>, Andriy Gapon writes: > >> Both pieces look sane and non-racy (because of g_topology_assert) until we allow >> g_access (some geom access method, rather) to drop the topology lock. > > You lost me there. > > g_access() cannot do its job without holding the topology lock. > > Will it help if I repeat my original questions: Is that bad if a geom's access method drops and re-acquires g_topology_lock while doing some internal stuff? Is that allowed at all? To clarify, if that's needed, by "geom's access method" I meant the 'access' member with g_access_t type in struct g_geom. -- Andriy Gapon