1. A system, comprising: one or more processors; one or more computer-readable media storing one or more computer programs for execution by the one or more processors, the one or more computer programs comprising instructions for: using a plurality of chunks to implement a hierarchical file system comprising a plurality of volumes in a content-addressable storage system; wherein each volume of the plurality of volumes is an encrypted volume or a non-encrypted volume; storing a plurality of unencrypted chunks in the content-addressable storage system corresponding to the non-encrypted volumes; storing a plurality of encrypted chunks in the content-addressable storage system corresponding to the encrypted volumes; providing an application for execution on a client computer, wherein the application is configured to perform: obtaining volume state information for a particular volume, the volume state information comprising a chunk key for a root chunk of a hierarchy of chunks corresponding to the particular volume; retrieving particular data stored in the content-addressable system for the particular volume by performing: when the particular volume is not encrypted, retrieving one or more unencrypted chunks from the content-addressable storage system corresponding to the particular data; when the particular volume is encrypted, retrieving one or more encrypted chunks from the content-addressable storage system corresponding to the particular data, and decrypting the one or more encrypted chunks.