Subject: Re: Google Summer of Code project ideas
To: David Laight <david@l8s.co.uk>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 04/23/2006 16:17:32
On Sun, Apr 23, 2006 at 07:17:44PM +0100, David Laight wrote:
> On Fri, Apr 21, 2006 at 12:05:05PM -0400, Jan Schaumann wrote:
> >
> > * Simplify FFS -- Remove the residual geometry code and datastructures
> > from FFS (keep some kind of ?allocation groups? but without most of
> > what cylinder groups now have) and replace blocks and fragments with
> > extents, yielding a much simpler filesystem well suited for modern
> > disks. The result would be useful to many operating systems beyond
> > just NetBSD, since UFS/FFS is used in so many different kernels.
>
> Is there much of that code left? I think it almost all went when the
> FFSv2 code was imported.
Gone from the kernel, yeah, some of them. Gone from the on-disk format,
even less so. That space is reserved for all kinds of physical-geometry
stuff in every cylinder group is one reason why we have to have so many
cylinder groups -- which should really just be allocation groups, to
allow parallel allocations once we have multiple processors in-kernel --
for any disk of modern size.
Extents would be a lot more sensible than the current block -- plus up
to 8 sizes of fragments, but only 8 -- plus some new giant-block scheme;
and eliminating multiple levels of block indirection would eliminate a
major source of bugs in the code.
If one started out to design a simple filesystem that didn't know about
disk geometry, it sure wouldn't look like FFS, even with everything that
was ripped out for FFSv2. That's all I'm getting at, really.
--
Thor Lancelot Simon tls@rek.tjls.com
"We cannot usually in social life pursue a single value or a single moral
aim, untroubled by the need to compromise with others." - H.L.A. Hart