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)