Yea I was waiting to see if they were going to talk about Linux in the video. They didn't.
This is low level enough that it'd have to be implemented as a FUSE layer, which could add quite a bit of complexity. I wonder how they're going to deal with Linux. Will it still just sync everything?
How would writing it as a FUSE fs add complexity, as compared to whatever (which we don't know) they've done on Windows and OS X? FUSE is built for stuff like this. If anything, it should be easiest with FUSE.
And then they could have used the same codebase for Windows with Dokan (which has FUSE compatibility) and OSXFuse, although those two aren't installed by default. (FUSE is).
An overlay filesystem has a lot of advantages over FUSE. Mostly, if it crashes the user can still see their files. Implementing it with FUSE makes everything much more severe.
Uhhh ... where did the comparison between overlaying fses and FUSE come from? Overlaying of filesystems is for completely different purposes. It's not even suitable for Dropbox's Project Infinite — what would it be overlayed upon? How would dropboxd send/receive file info/data to/from the overlaying fs's driver?
The mere use of FUSE doesn't make an fs complicated or things "severe". It's just a really simple API made available to userspace processes. In fact, you can build an fs in FUSE that does overlaying itself, using multiple, isolated processes. Or you can use a single, simple, small process to implement a simple fs. FUSE is literally just the glue that would allow something like dropboxd to send/recieve file info/data to/from the VFS.
Uh, this is exactly the type of thing that FUSE is good for. Doing this as a FUSE layer would be way way easier than for Windows (unless they used Dokany[1], and they probably didn't) or god knows what you have to do to get OS X to support user-space filesystems.
This is low level enough that it'd have to be implemented as a FUSE layer, which could add quite a bit of complexity. I wonder how they're going to deal with Linux. Will it still just sync everything?