[haiku-development] Re: [gsoc2011] New File System

  • From: Ankur Sethi <get.me.ankur@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 28 Mar 2011 00:40:11 +0530

Hi Ingo,

On Sun, Mar 27, 2011 at 2:42 AM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
>
> You know that there's a working (though not perfect) bfs_fuse using the 
> current BFS sources in our repository?

Did not know that, thanks. I'll try to get it running on my Linux box.
Or maybe get it from Jeroen's PPA.

> I don't think starting with an outdated file system, updating it with 
> concepts/features from other outdated file systems is a particularly good 
> approach. I would focus on what we need, have close look at the (still) 
> interesting file systems (btrfs, logfs, ZFS, Reiser4), and either fork one of 
> them or design a new one from the scratch with those in mind. This is a 
> mighty big task.

Fair enough. Is forking a good idea, though? Starting from scratch
would be nice[1], but I don't know how much could be accomplished in
one summer. Perhaps a basic journaling FS plus design docs, but even
that might be stretching it. What do you think?

In any case, I'm looking at "modern" file systems for ideas. I'll
hopefully have a reasonable design doc in a day or two. I'm especially
interested in how other file systems handle attributes. Almost every
FS I've looked at supports extended attributes, but I'm not sure how
many of them actually index them for fast querying.

> Regarding changing the file system interface, that is a necessity and 
> absolutely desired. E.g. we understand now that queries should not be 
> implemented in the file system, but rather moved to a userland service.

I don't understand: do you mean it would be better to parse the query
in a userland process and then pass it on to the filesystem[2]? Or do
you want to entirely move metadata handling to the userland?


Pieter wrote:
> I don't know how good bonnie++ is, for benchmarking the filesystem, but it 
> should work on Haiku.

Thanks. IOzone is also trivial build on most platforms. I'll post some
statistics, but they probably won't be useful if we implement a new FS
instead of improving BFS. In any case, benchmarking tools will come in
handy when I do a BFS1 vs. BFS2 shootout sometime in August ;)


[1] Who wouldn't? The idea is too seductive to pass on. But is it a _good_ idea?
[2] I see the bfs module contains code to handle query parsing and evaluation.

-- 
Ankur Sethi
(GeneralMaximus on IRC and elsewhere)

Other related posts: