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…)
August 28th, 2006 at 6:26 pm
Hmm, can’t seem to find it in the ports? ;P
August 28th, 2006 at 7:16 pm
Testing this second time, had a apostrph in the last so i’d better add one here too… delete me
August 28th, 2006 at 7:23 pm
haxx test’r