A minimal distributed filesystem.
This software implements a very simple ("toy") distributed filesystem, designed to require a minimal amount of operational effort. It is an exploratory exercise in the scope of efficient long-term archival, so the focus is more on reliability and scaling rather than raw performance (also, see "toy" above).
It is called a filesystem in a loose sense: it does not provide POSIX semantics, but a limited read/write/list API.
A cluster contains two kinds of nodes, block servers and coordinators. Block servers expose physical disks via a trivial block storage interface. Coordinators deal with the file metadata, and coordinate themselves for global operations (gc / fsck).