Upper.V4
type gced = {
suffix_start_offset : Optint.Int63.t;
generation : int;
latest_gc_target_offset : Optint.Int63.t;
suffix_dead_bytes : Optint.Int63.t;
}
Similar to from_v3_gced
. New fields:
latest_gc_target_offset
is the commit on which the latest gc was called on.
suffix_dead_bytes
is the number of bytes at the beginning of the suffix that should be considered unreachable after a GC.
val gced_t : gced Irmin.Type.t
type status =
| From_v1_v2_post_upgrade of V3.from_v1_v2_post_upgrade
| No_gc_yet
| Used_non_minimal_indexing_strategy
| Gced of gced
| T1
| T2
| T3
| T4
| T5
| T6
| T7
| T8
| T9
| T10
| T11
| T12
| T13
| T14
| T15
From_v1_v2_post_upgrade
similar to V3.From_v1_v2_post_upgrade
No_gc_yet
corresponds to a pack store that was created using `V3
or above. It never underwent a GC.
Used_non_minimal_indexing_strategy
corresponds to a pack store that was created using `V3
or above. It never underwent a GC and it will never be possible to GC it because entries were pushed using a non-minimal indexing strategy.
Gced
is a `V3
or `V4
store that was GCed at least once.
The T*
tags are provisional tags that the binary decoder is aware of and that may in the future be used to add features to the `V4
payload.
val status_t : status Irmin.Type.t
type t = {
dict_end_poff : Optint.Int63.t;
appendable_chunk_poff : Optint.Int63.t;
upgraded_from_v3_to_v4 : bool;
checksum : Optint.Int63.t;
chunk_start_idx : int;
chunk_num : int;
status : status;
}
The same as V3.t
, with the following modifications:
New fields
upgraded_from_v3_to_v4
recalls if the store was originally created in `V3
.chunk_start_idx
is the index for the starting chunk of the suffixchunk_num
is the number of chunks in the suffixchecksum
for storing a checksum of the payloadappendable_chunk_poff
is a value used by the chunked suffix. See Chunked_suffix.S.appendable_chunk_poff
for more details.Removed fields
suffix_end_poff
is replaced by appendable_chunk_poff
val t : t Irmin.Type.t