mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-27 02:08:54 +00:00
constants: reorder stuff, add comments
This commit is contained in:
parent
a18a9df364
commit
a7bc1f88c1
1 changed files with 20 additions and 18 deletions
|
@ -30,15 +30,6 @@
|
||||||
# forcing to 0o100XXX later
|
# forcing to 0o100XXX later
|
||||||
STDIN_MODE_DEFAULT = 0o660
|
STDIN_MODE_DEFAULT = 0o660
|
||||||
|
|
||||||
CACHE_TAG_NAME = "CACHEDIR.TAG"
|
|
||||||
CACHE_TAG_CONTENTS = b"Signature: 8a477f597d28d172789f06886806bc55"
|
|
||||||
|
|
||||||
# A large, but not unreasonably large segment size. Always less than 2 GiB (for legacy file systems). We choose
|
|
||||||
# 500 MiB which means that no indirection from the inode is needed for typical Linux file systems.
|
|
||||||
# Note that this is a soft-limit and can be exceeded (worst case) by a full maximum chunk size and some metadata
|
|
||||||
# bytes. That's why it's 500 MiB instead of 512 MiB.
|
|
||||||
DEFAULT_MAX_SEGMENT_SIZE = 500 * 1024 * 1024
|
|
||||||
|
|
||||||
# in borg < 1.3, this has been defined like this:
|
# in borg < 1.3, this has been defined like this:
|
||||||
# 20 MiB minus 41 bytes for a PUT header (because the "size" field in the Repository includes
|
# 20 MiB minus 41 bytes for a PUT header (because the "size" field in the Repository includes
|
||||||
# the header, and the total size was set to precisely 20 MiB for borg < 1.3).
|
# the header, and the total size was set to precisely 20 MiB for borg < 1.3).
|
||||||
|
@ -49,12 +40,21 @@
|
||||||
# borg < 1.3, but this is not expected to cause any issues.
|
# borg < 1.3, but this is not expected to cause any issues.
|
||||||
MAX_OBJECT_SIZE = MAX_DATA_SIZE + 41 + 8 # see assertion at end of repository module
|
MAX_OBJECT_SIZE = MAX_DATA_SIZE + 41 + 8 # see assertion at end of repository module
|
||||||
|
|
||||||
# how many metadata stream chunk ids do we store into a "pointer chunk" of the ArchiveItem.item_ptrs list?
|
# How many segment files borg puts into a single directory by default.
|
||||||
IDS_PER_CHUNK = 3 # MAX_DATA_SIZE // 40
|
DEFAULT_SEGMENTS_PER_DIR = 1000
|
||||||
|
|
||||||
|
# A large, but not unreasonably large segment size. Always less than 2 GiB (for legacy file systems). We choose
|
||||||
|
# 500 MiB which means that no indirection from the inode is needed for typical Linux file systems.
|
||||||
|
# Note that this is a soft-limit and can be exceeded (worst case) by a full maximum chunk size and some metadata
|
||||||
|
# bytes. That's why it's 500 MiB instead of 512 MiB.
|
||||||
|
DEFAULT_MAX_SEGMENT_SIZE = 500 * 1024 * 1024
|
||||||
|
|
||||||
# repo config max_segment_size value must be below this limit to stay within uint32 offsets:
|
# repo config max_segment_size value must be below this limit to stay within uint32 offsets:
|
||||||
MAX_SEGMENT_SIZE_LIMIT = 2**32 - MAX_OBJECT_SIZE
|
MAX_SEGMENT_SIZE_LIMIT = 2**32 - MAX_OBJECT_SIZE
|
||||||
|
|
||||||
|
# how many metadata stream chunk ids do we store into a "pointer chunk" of the ArchiveItem.item_ptrs list?
|
||||||
|
IDS_PER_CHUNK = 3 # MAX_DATA_SIZE // 40
|
||||||
|
|
||||||
# have one all-zero bytes object
|
# have one all-zero bytes object
|
||||||
# we use it at all places where we need to detect or create all-zero buffers
|
# we use it at all places where we need to detect or create all-zero buffers
|
||||||
zeros = bytes(MAX_DATA_SIZE)
|
zeros = bytes(MAX_DATA_SIZE)
|
||||||
|
@ -70,19 +70,18 @@
|
||||||
# repo.list() / .scan() result count limit the borg client uses
|
# repo.list() / .scan() result count limit the borg client uses
|
||||||
LIST_SCAN_LIMIT = 100000
|
LIST_SCAN_LIMIT = 100000
|
||||||
|
|
||||||
DEFAULT_SEGMENTS_PER_DIR = 1000
|
|
||||||
|
|
||||||
FD_MAX_AGE = 4 * 60 # 4 minutes
|
FD_MAX_AGE = 4 * 60 # 4 minutes
|
||||||
|
|
||||||
CHUNK_MIN_EXP = 19 # 2**19 == 512kiB
|
|
||||||
CHUNK_MAX_EXP = 23 # 2**23 == 8MiB
|
|
||||||
HASH_WINDOW_SIZE = 0xFFF # 4095B
|
|
||||||
HASH_MASK_BITS = 21 # results in ~2MiB chunks statistically
|
|
||||||
|
|
||||||
# chunker algorithms
|
# chunker algorithms
|
||||||
CH_BUZHASH = "buzhash"
|
CH_BUZHASH = "buzhash"
|
||||||
CH_FIXED = "fixed"
|
CH_FIXED = "fixed"
|
||||||
|
|
||||||
|
# buzhash chunker params
|
||||||
|
CHUNK_MIN_EXP = 19 # 2**19 == 512kiB
|
||||||
|
CHUNK_MAX_EXP = 23 # 2**23 == 8MiB
|
||||||
|
HASH_WINDOW_SIZE = 0xFFF # 4095B
|
||||||
|
HASH_MASK_BITS = 21 # results in ~2MiB chunks statistically
|
||||||
|
|
||||||
# defaults, use --chunker-params to override
|
# defaults, use --chunker-params to override
|
||||||
CHUNKER_PARAMS = (CH_BUZHASH, CHUNK_MIN_EXP, CHUNK_MAX_EXP, HASH_MASK_BITS, HASH_WINDOW_SIZE)
|
CHUNKER_PARAMS = (CH_BUZHASH, CHUNK_MIN_EXP, CHUNK_MAX_EXP, HASH_MASK_BITS, HASH_WINDOW_SIZE)
|
||||||
|
|
||||||
|
@ -159,6 +158,9 @@ class KeyType:
|
||||||
BLAKE2CHPOREPO = 0x41
|
BLAKE2CHPOREPO = 0x41
|
||||||
|
|
||||||
|
|
||||||
|
CACHE_TAG_NAME = "CACHEDIR.TAG"
|
||||||
|
CACHE_TAG_CONTENTS = b"Signature: 8a477f597d28d172789f06886806bc55"
|
||||||
|
|
||||||
REPOSITORY_README = """This is a Borg Backup repository.
|
REPOSITORY_README = """This is a Borg Backup repository.
|
||||||
See https://borgbackup.readthedocs.io/
|
See https://borgbackup.readthedocs.io/
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in a new issue