S3QL is a file system that stores all its data online. It supports Amazon S3, Google Storage, and OpenStack and effectively provides you with a hard disk of dynamic, infinite capacity that can be accessed from any computer with Internet access. S3QL provides a standard, full featured Unix file system that is conceptually indistinguishable from any local file system. Additional features include compression, encryption, data de-duplication, immutable trees, and snapshotting, which make it especially suitable for online backup and archiving. The design favors simplicity and elegance over performance and feature-creep. Care has been taken to make the source code as readable and serviceable as possible. Solid error detection, error handling, and extensive automated test cases are provided.
Gfarm is a distributed filesystem, generally used for large scale cluster computing. It's implemented in userland, and can be mounted by FUSE. It utilizes locality of a file to access a data node, and supports Globus GSI for Wide Area Network. Users can explicitly control file replica location on Gfarm. Gfarm can be used as an alternative storage system to HDFS for Hadoop, Samba, MPI-IO, and GridFTP. Monitoring via ZABBIX and Ganglia is also supported.
QueryFS is a FUSE-based virtual filesystem that is based on queries. There are plugins to parse various query syntaxes and each query creates a virtual directory. Currently the most elaborate query language is SQL-based; you can either provide access to data stored in an SQL database, or keep an index of files in the SQL database and generate search directories with symlinks to found files. QueryFS and its SQL2 query DSL fully support creation of refinable searches: for example, the author has an index of downloaded email files; one can see all the distinct senders registered in the DB and then go into a directory of one sender and see all accounts that ever received an email from this sender.
GitFS is a fuse- and git-based remote filesystem with local cache for disconnected operation. It does periodic commits and pushes/pulls to keep a local shadow file system in sync with a remote repository. The filesystem should continue to work when you are disconnected. Merging after disconnected updates from multiple locations is left to git.