From 10a7b6b727ee3895571843405566a91ae8e7df66 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Tue, 22 Aug 2017 17:48:48 +0200 Subject: [PATCH] docs/internals: note segment size limitation --- docs/internals/data-structures.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/internals/data-structures.rst b/docs/internals/data-structures.rst index dd7eaefd2..045b476bd 100644 --- a/docs/internals/data-structures.rst +++ b/docs/internals/data-structures.rst @@ -96,7 +96,7 @@ files manually. A segment starts with a magic number (``BORG_SEG`` as an eight byte ASCII string), followed by a number of log entries. Each log entry consists of: -* size of the entry +* 32-bit size of the entry * CRC32 of the entire entry (for a PUT this includes the data) * entry tag: PUT, DELETE or COMMIT * PUT and DELETE follow this with the 32 byte key @@ -118,6 +118,9 @@ When a repository is opened any ``PUT`` or ``DELETE`` operations not followed by a ``COMMIT`` tag are discarded since they are part of a partial/uncommitted transaction. +The size of individual segments is limited to 4 GiB, since the offset of entries +within segments is stored in a 32-bit unsigned integer in the repository index. + Index, hints and integrity ~~~~~~~~~~~~~~~~~~~~~~~~~~