Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2004 19:48:53 -0800
From:      David Brinegar <david.brinegar@acm.org>
To:        arch@freebsd.org
Cc:        Poul-Henning Kamp <phk@phk.freebsd.dk>
Subject:   Re: About removable disks, mountroot and sw-raid
Message-ID:  <20040114034853.GD2701@mail.brinegar-computing.com>
In-Reply-To: <12416.1074036757@critter.freebsd.dk>
References:  <12416.1074036757@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote:
> B:  Slow boot
> 	Machine boots kernel, disk dribble in at a rate of one
> 	every 20 seconds as the cabinet powers them up.

Power dribble reminds me of usb disks that are slow to power up
completely.  The system detects the disk then outraces it, getting a
failed attempt to query device size because the disk needs another
second or two to come all the way up.  It would be nice to be able
to tune the stall in the disk driver before declaring the device not
ready.


> Scenario B is only solvable with outside knowledge.  I propose to
> add a tunable which says either how long time in total or maybe
> more: useful how long time after the count went to zero before we
> give up looking for the root dev. 
> 
> This means that the system will "stick around for a while" hoping
> the missing disk appears, and after the timeout, it will fail.

A tunable stall in the disk driver would do the same thing, without
limiting it to boot.

It would be nice if this were not limited to tuning boot.  Say you
plug in the cabinet after the system is booted, then you still need
the disk driver to wait 20 seconds before declaring the first disk
dead on arrival.  That it is tunable means you could boot fast, zero
stall so the disk driver quickly bails on the cabinet that isn't
there, then tune it to 20 seconds when the cabinet is plugged in.

The other issue is how to handle the operator removing the disk and
plugging it back in during the stall.  The stall should restart in
any case, which may be easier to deal with in the driver than in a
search for root dev.  I guess your proposal handles that if the
driver dings the count when the device is replugged, so there's not
much difference there.


> A default timeout of 40 seconds from the last disk appeared
> sounds like a good shot at a default to me.

And if it were a tunable stall in the driver it should default to
zero, meaning don't add anything to the driver's default stall.


-- 
David Brinegar
http://brinegar-computing.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040114034853.GD2701>