Skip to Main Content
This paper sketches the design of the Eliot File System (Eliot), a mutable file system that maintains the pure immutability of its peer-to-peer (P2P) substrate by isolating mutation in an auxiliary metadata service. The immutability of address-to-content bindings has several advantages in P2P systems. However mutable file systems are desirable because they allow clients to update existing files; a necessary property for many applications. In order to facilitate modifications, the file system must provide some atom of mutability. Since this atom of mutability is a fundamental characteristic of the file system and not the underlying storage substrate, it is a mistake to violate the integrity of the substrate with special cases for mutability. Instead, Eliot employs a separate, generalized metadata service that isolates all mutation and client state in an auxiliary replicated database. Eliot provides fine-granularity file updates with either AFS open-close or NFS-like consistency semantics. Eliot builds a mutable filesystem on a global resource bed of purely immutable P2P block storage.