diff options
author | Thomas Waldmann <tw@waldmann-edv.de> | 2015-08-29 04:23:57 +0200 |
---|---|---|
committer | Thomas Waldmann <tw@waldmann-edv.de> | 2015-08-29 04:23:57 +0200 |
commit | 1a949eab3ed05d4e25f19f84244ea5c4f724f9a7 (patch) | |
tree | ea9d2da47239f41c71aa93a5d71a831065788fc8 /docs | |
parent | ddd0e2700bd77111e401178c3074ec102275fb12 (diff) |
docs: internals: improve structure and formatting
Diffstat (limited to 'docs')
-rw-r--r-- | docs/internals.rst | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/docs/internals.rst b/docs/internals.rst index 4792e5045..d989fd9c5 100644 --- a/docs/internals.rst +++ b/docs/internals.rst @@ -8,7 +8,6 @@ This page documents the internal data structures and storage mechanisms of |project_name|. It is partly based on `mailing list discussion about internals`_ and also on static code analysis. -It may not be exactly up to date with the current source code. Repository and Archives ----------------------- @@ -151,6 +150,9 @@ Each archive info contains: It is the last object stored, in the last segment, and is replaced each time. +The Archive +----------- + The archive metadata does not contain the file items directly. Only references to other objects that contain that data. An archive is an object that contains: @@ -163,6 +165,10 @@ object that contains: * username * time + +The Item +-------- + Each item represents a file, directory or other fs item and is stored as an ``item`` dictionary that contains: @@ -220,7 +226,7 @@ what files you have based on a specific set of chunk sizes). Indexes / Caches ---------------- -The files cache is stored in ``cache/files`` and is indexed on the +The **files cache** is stored in ``cache/files`` and is indexed on the ``file path hash``. At backup time, it is used to quickly determine whether we need to chunk a given file (or whether it is unchanged and we already have all its pieces). @@ -239,7 +245,7 @@ archives in different setups. The files cache is stored as a python associative array storing python objects, which generates a lot of overhead. -The chunks cache is stored in ``cache/chunks`` and is indexed on the +The **chunks cache** is stored in ``cache/chunks`` and is indexed on the ``chunk id_hash``. It is used to determine whether we already have a specific chunk, to count references to it and also for statistics. It contains: @@ -248,7 +254,7 @@ It contains: * size * encrypted/compressed size -The repository index is stored in ``repo/index.%d`` and is indexed on the +The **repository index** is stored in ``repo/index.%d`` and is indexed on the ``chunk id_hash``. It is used to determine a chunk's location in the repository. It contains: |