[BOB] [vfs] introduction

  • From: "Bas Westerbaan" <bas.westerbaan@xxxxxxxxx>
  • To: projectbob@xxxxxxxxxxxxx
  • Date: Thu, 1 Mar 2007 19:46:44 +0100

VFS stands for Virtual File System. The term has been blatantly stolen from

Basically the VFS are all the mounted filesystems and virtual filesystems
combined. It's the filesystem tree.

The current filesystem design is old, it originated from the 70s. Obviously
it's better than windows' drive based clumbsiness, but we need something
even better than Linux'.

The problem with the current VFS is that we can't put everything in it
anymore. We used to have /dev/dsp for our sound output, but because the VFS
interface is insufficient the new soundsystem in linux (alsa) needed to
create a whole new namespace with own systemcalls that isn't accessible from
the VFS. This is bad.

Another thing we can't put in the VFS anymore are forum posts or other
relational data. We need to use software that builds upon the VFS a new
storage layer of their own, which makes everything more complex and slower.
For instance, a mySQL table fragments twice: once in the mySQL table format
and once on the disk in the FS format.

Beagle, spotlight and other search services aren't integrated with the
filesystem. They must keep a seperate database (and basically duplicate
data) of all files which is terribly hard to keep up to date (much overhead
in inotify), this is all very inefficient. You want to be able to search
your computer without using a program, but just the VFS. You want to type
'cd [my mp3]' and you want to be in a folder with all your mp3's.

While writing a VFS layer in Bob, I'll take the (not so much extra) effort
to create a very extensible VFS. And haivng it work under Bob hardware
proves its performance.

Bas Westerbaan
GPG 99BA289B | SINP bas@xxxxxxxx

Other related posts: