Sunday, September 30, 2012

FUSE

A lot of people don't appreciate just how amazing FUSE is. Beyond enabling cool productivity enhancers, like the Host Profile File System (paper), it's a great vehicle for research prototyping new block and file system technologies. Of course, FUSE has some inherent performance issues, but for an initial prototype it's basically the difference between productively working on your project or chasing strange dcache issues, especially if you're not doing it full time (or wrote a major Linux file system, and uh... went to jail).

Of course, to help with doing a sensible performance analysis, it would be quite interesting if somebody made a Linux VFS shim on top of FUSE to port existing file systems into FUSE.

Of course, it pays to pay attention to the documentation and examples, since the FUSE API differs from POSIX file API in different ways. For example, the FUSE readlink doesn't behave like readlink(2), since on success it returns 0, instead of the byte count written.

A

No comments:

Post a Comment