Woot! My Filesystem workish!

So as you may remember, I've been thinking about (and quietly implementing) a distributed filesystem.  Tonight I got as far as it mostly working, and since everyone around here is sick of me telling them about it I thought I'd tell you all about it instead :)

It uses the 9p protocol to talk to the kernel (although I'm using the 9p python client for testing).  I use the chimera DHT for indexing, and libnpfs for dealing with the low level details of the 9p protocol.  I've managed to find bugs in all of these pieces of software so far :)

 Anyway, onto the interesting part of the show:

9p> ls
foo/
9p> cd foo
9p> ls
readme
9p> cat readme
Hello World
9p> mkdir sample
9p> ls -l
-rw-r--r-- perry perry 0        readme
drwxr-xr-x perry perry 0        sample
9p> cd sample
9p> ls -l
9p> put testfile
9p> ls -l
-rw-r--r-- perry perry 0       testfile
9p> cat testfile
This file is a test
9p> 

You may notice that the file sizes are all 0, even though most of them seem to contain data, this is coz I've not finished implementing stat(2) yet.  Permissions etc are kinda implemented (they're stored, but not read off disk yet, although libnpfs appears to verify them for me).

There's a bit of polishing off to do before the "local" part of the filesystem is mostly viable. Then I just have to hook all the distributedness together and I should have a fully functional prototype! (yeah right…)

3 Responses to “Woot! My Filesystem workish!”

  1. louie Says:

    Hmm, can’t seem to find it in the ports? ;P

  2. louie Says:

    Testing this second time, had a apostrph in the last so i’d better add one here too… delete me

  3. louie Says:

    haxx test’r