summaryrefslogtreecommitdiff
path: root/doc/concepts/garbage.md
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-04-14 12:55:12 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-04-14 13:02:45 +0200
commit629df017d74734e93e2b63a1bb4b7819a34a1c9f (patch)
tree3c16b58c162a08b3ffda718aa183e2e42442aa6d /doc/concepts/garbage.md
parentc7216ce1da69f3fdbd2e577113c0a15a7dd41130 (diff)
downloadjustbuild-629df017d74734e93e2b63a1bb4b7819a34a1c9f.tar.gz
clean up markdown in tutorial and concepts
... and ensure that pandoc processes them correctly. In particular, add an empty line around itemize environments.
Diffstat (limited to 'doc/concepts/garbage.md')
-rw-r--r--doc/concepts/garbage.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/doc/concepts/garbage.md b/doc/concepts/garbage.md
index ab0dba09..f6ba7149 100644
--- a/doc/concepts/garbage.md
+++ b/doc/concepts/garbage.md
@@ -113,6 +113,7 @@ The entries in the large-objects CAS are keyed by hash of the
large object and the value of an entry is the concatenation of the
hashes of the chunks the large object is composed of. An entry in
a large-object CAS promises
+
- that the chunks the large object is composed of are in the main
CAS, more precisely `casf` in the same generation,
- the concatenation of the specified chunks indeed gives the
@@ -129,6 +130,7 @@ can be replaced by a large-object entry themselves.
Whenever an object is not found in the main CAS, the large-objects
CAS is inspected. If found there, then, in this order,
+
- if the entry is not already in the youngest generation, the chunks
are promoted to the youngest generation,
- the object itself is spliced on disk in a temproary file,
@@ -172,6 +174,7 @@ During garbage collection, while already holding the exclusive
garbage-collection lock, the following compactification steps are
performed on the youngest generation before doing the generation
rotation.
+
- For every entry in the large-objects CAS the corresponding entries
in the main CAS are removed (for an entry in `cas-large-f` the
entries in both, `casf` and `casx` are removed, as files and
@@ -181,6 +184,7 @@ rotation.
added to the main CAS, the list of chunks the object is composed
of is added to the large-objects CAS, and finally the object is
removed from the main CAS.
+
It should be noted that these steps do not modify the objects
that can be obtained from that CAS generation. In particular, all
invariants are kept.