Settings

Theme

SpockFS – An HTTP-based network filesystem

github.com

55 points by unbit 11 years ago · 13 comments

Reader

lsaferite 11 years ago

As a totally honest question, what about WebDAV is so bad that you'll never touch it and instead wen this route?

  • unbitOP 11 years ago

    Seeing it from the perspective of a network filesystem (WebDAV by itself is a lot more, albeit afaik has never been used seriously as an authoring tool) it is a bit over-engineered, but the real problem (expecially when dealing with CardDAV and CalDAV) is the clients/servers inter-operation, as it looks like no-one is able to respect the RFCs (check the amount of hacks the radicale project or davvy needed to make OSX clients happy, or the differences between lightning, korganizer and so on). So the reason is that my patience ended :)

  • Lerc 11 years ago

    Speaking from the perspective of someone who touched WebDav and then wrote my own server alternative. WebDav is really that bad. It has a special combination of using XML to be theoretically extensible while generalised to use the lowest common denominator of features.

    I can't recall the specific details, but I certainly remember the pain. Apart from the inevitable and unnecessary translation from XML to a JavaScript object. I seem to recall there were weird cases where the XML format produced a different structure for cases where directories contained a single file.

    In the short term I found capturing the output of "ls -al urlpath" was vastly easier to deal with.

    In the longer term I wrote a server https://github.com/Lerc/userserv It might be worth me revisiting userserv to switch to the SpockFS protocol. Currently I use a websocket backchannel to do anything more complicated than static serving.

  • JoshTriplett 11 years ago

    WebDAV doesn't go far enough; this exposes enough methods to provide a POSIX-compatible filesystem.

blueflow 11 years ago

I really like that it gets along without XML. I don't like that it ends with a lot of new methods and headers.

Unrelated: Have you ever looked into the 9P protocol? I'd wonder if one can tunnel that through http, too.

  • unbitOP 11 years ago

    POSIX has lot of methods, i did not found a more HTTP-compliant way to deal with it. If you have ideas feel free to expose them, i would be really happy to simplify the specs.

    Regarding 9P, SpockFS is a fork of the 9spock project (unfortunately my company still did not released the sources, albeit the github repository is opened), and personally i think 9p is the currently best protocol available for sharing filesystems. Unfortunately the linux client is a bit weak as it does not manage disconnections/reconnections (once you lose the connection with the server you have to remount it)

ChuckMcM 11 years ago

Looks like fun. Back when "object stores" were all the rage this kind of layer was embedded in the network switch. My favorite flavor of that is one where you do erasure codes across a collection of services resulting in storage systems that look like more generic network traffic. Of course these days you would say "Why do I keep getting these weird mime encoded 512 byte blocks posted on my timeline Facebook?"

alexchamberlain 11 years ago

XML used to be the in thing; now it seems to be HTTP. Will we look back in 5 years time and despise that too?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection