mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-01-30 05:39:12 +02:00
Update comments for removal of chunking and block numbers.
dd4e526 should have updated this comment but failed to do so.
This commit is contained in:
parent
0ac09344dc
commit
0051d7ca87
@ -9,22 +9,12 @@ Super blocks contain a list of blocks that may or may not be contiguous. The adv
|
||||
together which leads to better compression. The disadvantage is that the super block must be read sequentially to get at any block
|
||||
in the super block. For large block sizes the block size will usually equal the super block size to negate the read penalty.
|
||||
|
||||
The map is duplicated in each backup where the file has changed so the block map only needs to be retrieved from the most recent
|
||||
backup. However, the block map may reference super block lists (or parts thereof) in any prior (or the current) backup.
|
||||
|
||||
A super block consists of a series of blocks stored as chunks (see IoChunk filter) to make the format more flexible. Each block
|
||||
consists of the following, compressed and encrypted as required:
|
||||
|
||||
- A varint-128 encoded block number stored as a delta of the prior block and left shifted by BLOCK_INCR_BLOCK_SHIFT. So, if the
|
||||
first block is 138 it would be stored as 138 and if the second block is 139 it would be stored as 1. Block numbers are only needed
|
||||
when the block list is being read sequentially, e.g. during verification. If blocks are accessed from the map then the block
|
||||
number is already known and the delta can be ignored.
|
||||
|
||||
- Block data.
|
||||
|
||||
The super block list is followed by the block map, which is encrypted separately when required but not compressed. The return value
|
||||
of the filter is the stored block map size. Combined with the repo size this allows the block map to be read separately.
|
||||
|
||||
The map is duplicated in each backup where the file has changed so the block map only needs to be retrieved from the most recent
|
||||
backup. However, the block map may reference super block lists (or parts thereof) in any prior (or the current) backup.
|
||||
|
||||
The block incremental should be read using BlockDelta since reconstructing the delta is quite involved.
|
||||
|
||||
The xxHash algorithm is used to determine which blocks have changed. A 128-bit xxHash is generated and then checksumSize bytes are
|
||||
|
Loading…
x
Reference in New Issue
Block a user