1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-01-22 23:38:57 +00:00
borg/src/borg
Marian Beermann c786a5941e CacheSynchronizer: redo as quasi FSM on top of unpack.h
This is a (relatively) simple state machine running in the
data callbacks invoked by the msgpack unpacking stack machine
(the same machine is used in msgpack-c and msgpack-python,
changes are minor and cosmetic, e.g. removal of msgpack_unpack_object,
removal of the C++ template thus porting to C and so on).

Compared to the previous solution this has multiple advantages
- msgpack-c dependency is removed
- this approach is faster and requires fewer and smaller
  memory allocations

Testability of the two solutions does not differ in my
professional opinion(tm).

Two other changes were rolled up; _hashindex.c can be compiled
without Python.h again (handy for fuzzing and testing);
a "small" bug in the cache sync was fixed which allocated too
large archive indices, leading to excessive archive.chunks.d
disk usage (that actually gave me an idea).
2017-06-02 17:43:15 +02:00
..
algorithms algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00
cache_sync CacheSynchronizer: redo as quasi FSM on top of unpack.h 2017-06-02 17:43:15 +02:00
crypto algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00
platform
testsuite CacheSynchronizer: redo as quasi FSM on top of unpack.h 2017-06-02 17:43:15 +02:00
__init__.py fail in borg package if version metadata is completely broken 2017-05-23 14:36:40 +02:00
__main__.py
_hashindex.c CacheSynchronizer: redo as quasi FSM on top of unpack.h 2017-06-02 17:43:15 +02:00
archive.py use stat with follow_symlinks=False 2017-05-22 17:54:42 +02:00
archiver.py algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00
cache.py CacheSynchronizer: redo as quasi FSM on top of unpack.h 2017-06-02 17:43:15 +02:00
compress.pyx
constants.py increase DEFAULT_SEGMENTS_PER_DIR to 2000 2017-05-22 12:31:52 +02:00
fuse.py fuse: fix crash if empty (None) xattr is read 2017-05-20 18:50:10 +02:00
hashindex.pyx CacheSynchronizer: redo as quasi FSM on top of unpack.h 2017-06-02 17:43:15 +02:00
helpers.py CacheSynchronizer 2017-06-02 17:43:14 +02:00
item.pyx
locking.py
logger.py fix --progress and logging in general for remote 2017-05-20 12:54:48 +02:00
lrucache.py
paperkey.html
patterns.py fix --exclude and --exclude-from recursing into directories 2017-05-05 14:55:01 +02:00
remote.py RepositoryCache: limit cache size 2017-06-02 17:43:15 +02:00
repository.py algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00
selftest.py
shellpattern.py
upgrader.py
version.py
xattr.py xattr: document API 2017-05-20 18:50:10 +02:00