From owner-freebsd-current@FreeBSD.ORG Wed Oct 5 06:27:20 2011 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B277106566C; Wed, 5 Oct 2011 06:27:20 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from onlyone.friendlyhosting.spb.ru (onlyone.friendlyhosting.spb.ru [IPv6:2a01:4f8:131:60a2::2]) by mx1.freebsd.org (Postfix) with ESMTP id 306EB8FC14; Wed, 5 Oct 2011 06:27:20 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (unknown [IPv6:2001:470:923f:1:b9fd:2f11:cd06:1a6]) (Authenticated sender: lev@serebryakov.spb.ru) by onlyone.friendlyhosting.spb.ru (Postfix) with ESMTPA id E68C34AC1C; Wed, 5 Oct 2011 10:27:18 +0400 (MSD) Date: Wed, 5 Oct 2011 10:27:10 +0400 From: Lev Serebryakov Organization: FreeBSD Project X-Priority: 3 (Normal) Message-ID: <1822051193.20111005102710@serebryakov.spb.ru> To: "Andrey V. Elsukov" In-Reply-To: <4E8BE604.7090803@yandex.ru> References: <1927112464.20111004220507@serebryakov.spb.ru> <4E8BE604.7090803@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: quoted-printable Cc: current@freebsd.org, freebsd-geom@FreeBSD.org Subject: Re: RFC: Project geom-events X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: lev@FreeBSD.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Oct 2011 06:27:20 -0000 Hello, Andrey. You wrote 5 =CF=CB=D4=D1=C2=D2=D1 2011 =C7., 9:07:16: > It seems that you could change only geom_dev.c to get most of what you wa= nt. > Actually, the part of your changes related to the DISCONNECT events, and > maybe DESTROY events could be implemented in the geom_dev. Does geom_dev knows all needed bits of information to report? It seems to= me, that it isn't. I mean: (1) Class and name of GEOM which is affected. (2) Name of provider which is affected. (3) Name of underlying provider which is lost (consumer from reporting GEOM's point of view). (4) Resulting state of affected provider (fixable, alive, dead). Yes, geom_dev knows name of FAILED provider, but does it knows all other? I'm affraid -- not, or I don't understand how generic mechanism could now, that geom_stripe could not lose components and still be fixable, and gome_mirror could. Additionally, some GEOM classes could throw away faulty consumers before they disappear from geom_dev point of view. Actually, DESTROY could be observed without my changes at all -- message from DEVFS about removing entry :) But, again, this notification will not contain name and class of GEOM, only provider's name (devfs entry). --=20 // Black Lion AKA Lev Serebryakov