Subject: Re: Summer Of Code - Filesystem What do you think ?
To: None <drhodus@machdep.com>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: tech-kern
Date: 06/09/2005 21:28:26
On Thu, 9 Jun 2005 13:27:08 +0000
David Rhodus <sdrhodus@gmail.com> wrote:
> I propose the idea of designing and creating a new file system and not
> worrying about all of the other file system implementations. File
> structures and storage mechanisms are well documented through-out
> computer science books, including several ideas I have yet to see
> fully implemented and exploited.
May I sugest a LFS? Our current LFS looks like a dead horse to me.
Konrad Schroder still tries to make our current LFS working, but he may
never get there. Someone (tls@ ?) said that our current LFS suffers from
a poor implementation and the best way would be to rewrite it from
scratch.
Konrad and tls@ may correct me.
AFAIK there are only two working implementations of a LFS: The original
from the Sprite operating system (full source code available as well as
several papers describing it) and WAFL by NetApp. There was an
experimental LFS for Linux that never got finished. The JFFS2 from Linux
for FLASH EPROMS is a LFS too but not quite comparable to a genral
purpose FS for disks.
I did some investigation in the LFS area. It is a verry interresting
field. Unfortunately writing a LFS is a non trivial task. You can spend
as much time on it as you would like. As I already have several other
NetBSD related projects pending I can't start an other.
I collected a feature list for a LFS. Some of these features are hard to
implement with "traditional" FS like UFS/FFS but it seems to be quite
easy with a LFS:
- at least same performance as FFS + softupdates
- instant / fast crash recovery
- snapshoot / clone support
- multible file systems per partition
- online resizable (grow _and_ shrink)
- online migratable (move from one partition to an other)
- multible partitions for a single file system
An other option is to implement the above features in our current LFS if
it gets usable at the end.
--=20
tsch=FC=DF,
Jochen
Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/