to other objects containing file data. A new snapshot may be created
which refers to some of the old objects with file data, if those files
have not changed.
+
+========================================================================
+
+Object naming:
+ - Each segment is assigned a unique 128-bit identifier (uuid). Each
+ segment is stored as a separate file whose name is based on its
+ uuid.
+ - Objects within a segment are numbered, using a 32-bit counter.
+
+Each segment is structured as a TAR file (optionally filtered through a
+compressor such as gzip/bzip2, or encrypted). Objects are stored as
+individual files.
+
+File attributes: Metadata for each file is stored in a dictionary.
+Dictionary keys include:
+ type: uint8_t ('p', 's', 'c', 'b', 'l', 'd', '-')
+ mode: uint16_t
+ user: uint32_t
+ group: uint32_t
+ size: int64_t
+ atime: int64_t
+ mtime: int64_t
+ ctime: int64_t