Date: Wed, 15 Mar 1995 12:33:21 -0800 (PST) From: Poul-Henning Kamp <phk@ref.tfs.com> To: rgrimes@gndrsh.aac.dev.com (Rodney W. Grimes) Cc: current@FreeBSD.org Subject: Re: newfs: sectors per cylinder (4096) disagrees with disk label (36) Message-ID: <199503152033.MAA08072@ref.tfs.com> In-Reply-To: <199503152020.MAA13419@gndrsh.aac.dev.com> from "Rodney W. Grimes" at Mar 15, 95 12:20:02 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > If no one objects (more specifically if Poul-Henning does not object) I
> > > am going to removed the newfs hacks for 1 track of 4096 cylinders. And
> > > fix src/etc/Makefile to not have the -t 0 -u 0.
> >
> > I do object.
>
> On what grounds???
1. I firmly belive that the geometries reported to us by the drives are
entirely bogus. (Except for ST506 & ESDI which doesn't work now
anyway, because we don't support bad144 at this time).
2. newfs chokes on drives with ">1GB" options set, because it gets too
big cylinders.
3. The reason you don't see a difference is that your drives probably
come out with sensible cylinder sizes. Well, a lot of drives don't
and the cylinder size is a critical parameter for performance and
efficiency of storage, this is the case for small IDE disks in
particular.
I am on the other hand not saying that the present solution is optimal,
but it will not choke on any disk I know of (floppies, yes, but not disks).
I would like to see something like the following rules added to newfs,
(by me or somebody else with better time)
If there isn't a disklabel try ioctl(FD_GTYPE) and use returned
geometry, if any.
ElseIf the disklabel has bad144 enabled, use the disklabel geometry.
ElseIf the disklabel has "USE_GEOM" (new flag) set, use disklabel geom.
ElseIf the disk is smaller than 40 Mb, use the disklabel geometry.
ElseIf the disk is smaller than 300 Mb, use 1024Kb/cylinder
Else use 2048Kb/cylinder.
Or something similar, suggestions welcome.
--
Poul-Henning Kamp <phk@login.dknet.dk> -- TRW Financial Systems, Inc.
'All relevant people are pertinent' && 'All rude people are impertinent'
=> 'no rude people are relevant'
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503152033.MAA08072>
