A serverless distributed file system manages the storage of files and
directories using one or more directory groups. The directories may be
managed using Byzantine-fault-tolerant groups, whereas files are managed
without using Byzantine-fault-tolerant groups. Additionally, the file
system may employ a hierarchical namespace to store files. Furthermore,
the directory group may employ a plurality of locks to control access to
objects (e.g., files and directories) in each directory.