From owner-freebsd-geom@FreeBSD.ORG Sat Sep 22 17:23:24 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 AD9B7106564A; Sat, 22 Sep 2012 17:23:24 +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 6806A8FC08; Sat, 22 Sep 2012 17:23:23 +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 UAA07621; Sat, 22 Sep 2012 20:23:22 +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 1TFTQH-000NVJ-Tb; Sat, 22 Sep 2012 20:23:21 +0300 Message-ID: <505DF409.9070908@FreeBSD.org> Date: Sat, 22 Sep 2012 20:23:21 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:15.0) Gecko/20120913 Thunderbird/15.0.1 MIME-Version: 1.0 To: freebsd-geom@FreeBSD.org X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=X-VIET-VPS Content-Transfer-Encoding: 7bit Cc: Subject: re-tasting of providers held with withering consumers X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Sep 2012 17:23:24 -0000 Because removal of withered geoms is done asynchronously, there is a window when some provider may require re-tasting (because of media change or size change), but it would still be in use by the withering geom. That prevents re-tasting a class of that withering geom (for obvious reasons). The following patch tries to trigger owed re-tasting after the withering provider is gone for good: http://people.freebsd.org/~avg/geom-withered-retaste.diff Probably the retasting should be more targeted similarly to what g_retaste does, but in asynchronous mode. This is a missing piece. -- Andriy Gapon