Rename --name to --scheme, and store the scheme name in the local database.
[cumulus.git] / format.txt
index f7ce166..1e4ce24 100644 (file)
@@ -25,3 +25,26 @@ other objects; a snapshot consists of a tree object which in turn refers
 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