Magma is an experimental distributed filesystem for Linux kernels based on libfuse on client side and on a written-from-scratch implementation of distributed hash table on server side.
Magma uses distributed hash table philosophy to store files (and directories, devices, fifos and more) on a joined network of dedicated servers. Each object stored in a magma network is called a flare, being anyone in file, directory or else. Each flare is evaluated using SHA1 hashing algorithm. The hash key is routed to proper node (called a vulcano) which is holding the range of hash keys to whom the key belongs.
Each vulcano holds a slice of the key space which ranges between two hash keys. That region changes during node life because of the action of a load balancer which tries to equally distribute load on all nodes, considering disk space available, bandwidth and number of real keys existing on each node. So a single key can move during time from one node to another.
This program tries to be compliant with POSIX semantics as close as possible, even providing (just planned for now) file locking. Protocols are developed with transparency in mind: client is assumed to be able to reach just local magma server, to avoid NAT and/or VPN problems.
Magma is in preliminary developement phase. So don't expect to put your hands on something working. Some aspects are in mature state (like flare system and client-server protocol) while others are unstable, uncomplete or even just planned.