From owner-freebsd-arch@FreeBSD.ORG Tue Aug 24 20:33:09 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4957E16A4CE for ; Tue, 24 Aug 2004 20:33:09 +0000 (GMT) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 20C2A43D31 for ; Tue, 24 Aug 2004 20:33:09 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 13238 invoked from network); 24 Aug 2004 20:33:08 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 24 Aug 2004 20:33:08 -0000 Received: from [10.50.40.208] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i7OKX3Jm097086; Tue, 24 Aug 2004 16:33:04 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: freebsd-arch@FreeBSD.org Date: Tue, 24 Aug 2004 09:43:40 -0400 User-Agent: KMail/1.6.2 References: <20040823073559.GP30151@darkness.comp.waw.pl> <200408231716.31321.jhb@FreeBSD.org> <20040823214729.GX30151@darkness.comp.waw.pl> In-Reply-To: <20040823214729.GX30151@darkness.comp.waw.pl> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200408240943.40529.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Pawel Jakub Dawidek Subject: Re: Mounting root... X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2004 20:33:09 -0000 On Monday 23 August 2004 05:47 pm, Pawel Jakub Dawidek wrote: > On Mon, Aug 23, 2004 at 05:16:31PM -0400, John Baldwin wrote: > +> On Monday 23 August 2004 03:05 pm, Pawel Jakub Dawidek wrote: > +> > On Mon, Aug 23, 2004 at 11:46:12AM -0400, John Baldwin wrote: > +> > +> Why not have mirror create the provider instantly in an degraded > state +> > as soon +> as one disk shows up and then change from degraded > back to full +> > when the +> second disk finally arrives? Isn't this the > same case as +> > someone jerking the +> disk out at run time and then > shoving it (or a new +> > one) back in without +> rebooting? > +> > > +> > If it will be started in degraded mode, it can be mounted and modified > +> > before next components arrive, so there will be a need to rebuild > them. +> > +> How is this different from jerking the disk out of a running system and > then +> shoving it back in again? > > You don't want to rebuild a mirror on every boot after clean shutdown. > In most cases one can set kern.geom.mirror.timeout to 0 and there will be > no problem with this, because even after mirror start is degraded mode > new components are not rebuilt if there were no writes, but it will be > good to have more general solution... The fact that a RAID can recover when a disk goes away and comes back is already the "general solution" it seems. It works all the time, not just at boot, so it seems to me like you are trying to solve a problem that is already solved. I think at most you could maybe have a system wide delay before that the user can tweak via a tunable (rather than a per-GEOM class tunable like your mirror one) in order to optimize the boot code for these rare cases but that is about it. I.e., if a user notices that one of the disks always takes an extra second they can set the tunable to force the kernel to wait 2 seconds before trying to mount root. Any such delay should be centralized, however, and not per-class, since all the per-class delays would end up being cumulative, so if MIRROR waits 2 seconds and STRIPE waits 3 seconds then the entire process actually waits 5 seconds as opposed to letting the user tweak a single centralized timeout. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org