Commit Graph

4203 Commits

Author SHA1 Message Date
enkore 06980525fa Merge pull request #2604 from enkore/docs/internals-layers
docs/internals: layers image + description
2017-06-04 22:15:25 +02:00
Marian Beermann f1709df8a9 docs/internals: layers image + description 2017-06-04 22:13:55 +02:00
TW 93e9ca0d23 update CHANGES (master) (#2594)
update CHANGES (master)
2017-06-04 00:18:09 +02:00
TW 5d689193cc Merge pull request #2597 from borgbackup/revert-2478-faked-debugging
Revert "Start fakeroot faked in debug mode - fixes EISDIR issues"
2017-06-03 23:09:34 +02:00
TW 6119a04122 Merge pull request #2596 from ThomasWaldmann/segs-per-dir
DEFAULT_SEGMENTS_PER_DIR = 1000
2017-06-03 22:04:46 +02:00
enkore b06ceb6547 Revert "Start fakeroot faked in debug mode - fixes EISDIR issues" 2017-06-03 22:02:52 +02:00
Thomas Waldmann ffcf6b76b6 DEFAULT_SEGMENTS_PER_DIR = 1000
prettier increments for the directory names.
2017-06-03 21:54:41 +02:00
TW a2d08e3186 Merge pull request #2575 from edgimar/master
patterns: don't recurse with ! / --exclude for pf:, fixes #2509
2017-06-03 21:47:11 +02:00
enkore d95551736d Merge pull request #2591 from enkore/issue/1101.design
docs: file integrity
2017-06-03 18:17:14 +02:00
enkore 372eb40089 Merge pull request #2590 from enkore/issue/2589
serve: add --restrict-to-repository
2017-06-03 18:17:02 +02:00
Mark Edgington fd0215c3c2 patterns: don't recurse with !/--exclude for path-prefix (pf:)
Fixes issue #2509
2017-06-03 12:13:32 -04:00
Marian Beermann 8ad309ae2a recreate: if single archive is not processed, exit 2 2017-06-03 15:47:01 +02:00
TW 28e4eb4ea3 add a .coafile for coala (#2592)
add support for using coala, fixes #1366

ignores / disable are set up so that there are not many faults.
we can improve that iteratively.
2017-06-03 15:13:21 +02:00
Marian Beermann da99ec2fbd docs: quotas: refer to --restrict-to-repository 2017-06-03 15:07:08 +02:00
Marian Beermann 8dfe2a8080 remote: show path in PathNotAllowed
not 100 % sure whether "if old_server" is required, so let's play it safe.
1.0 -> 1.1 server is no problem.
2017-06-03 15:07:08 +02:00
Marian Beermann 07fbba4ee9 serve: add --restrict-to-repository 2017-06-03 15:07:08 +02:00
Marian Beermann 5af66dbb12 cache sync: add more refcount tests 2017-06-03 15:02:27 +02:00
Steve Groesz 2bcbf8144e Add bountysource badge (#2581)
add bountysource badge, fixes #2558
2017-06-03 14:40:08 +02:00
Marian Beermann b8e40fdce6 editing 2017-06-03 13:05:33 +02:00
Marian Beermann 4faaa7d1fa RepositoryCache: abort on data corruption 2017-06-03 12:27:35 +02:00
Marian Beermann b544af2af1 RepositoryCache: checksum decrypted cache 2017-06-03 12:23:23 +02:00
Marian Beermann 45ee62e5ea docs: file integrity 2017-06-03 00:51:34 +02:00
enkore c77b758e74 Merge pull request #2584 from enkore/issue/1101.integration.repository
repository: checksum index and hints
2017-06-02 22:51:41 +02:00
Marian Beermann 54e023c75a repository: add complementary index corruption test 2017-06-02 21:44:45 +02:00
Marian Beermann 2e067a7ae8 repository: add refcount corruption test 2017-06-02 21:44:45 +02:00
Marian Beermann f61ee038d0 repository: checksum index and hints 2017-06-02 21:44:45 +02:00
Marian Beermann 5b3667b617 cache sync: macros in all-caps 2017-06-02 19:31:56 +02:00
Marian Beermann 795cdfc9ab cache sync: move stat initialization to main unpack 2017-06-02 19:30:53 +02:00
Marian Beermann cb98cb838d fuse: fix read(2) caching data in metadata cache
The OS page cache is responsible for handling this and is much more
empowered to do a good job at that than Borg.
2017-06-02 17:43:15 +02:00
Marian Beermann 67b97f2223 cache sync: cleanup progress handling, unused parameters 2017-06-02 17:43:15 +02:00
Marian Beermann 7f04e00ba2 testsuite: add TestRepositoryCache 2017-06-02 17:43:15 +02:00
Marian Beermann 835b0e5ee0 cache sync/remote: compressed, decrypted cache 2017-06-02 17:43:15 +02:00
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
Marian Beermann bf895950ac RepositoryCache: limit cache size
Unbounded cache size is inacceptable.

I don't see why a full-fledged repository needs to be used here, either,
since this cache requires none of the consistency or durability guarantees
made by it (and bought with a performance impact).

A notable issue is that posix_fadvise is slow (for some reason) on tmpfs,
which could eat 30-35 % of the total CPU time of a cache sync.
2017-06-02 17:43:15 +02:00
Marian Beermann 167875b753 cache sync: fix n^2 behaviour in lookup_name 2017-06-02 17:43:14 +02:00
Marian Beermann 9f8b967a6f cache sync: initialize master index to known capacity 2017-06-02 17:43:14 +02:00
Marian Beermann 740898d83b CacheSynchronizer 2017-06-02 17:43:14 +02:00
enkore a1fa1b7aec Merge pull request #2587 from enkore/docs/is-openssl
docs/security: OpenSSL usage
2017-06-02 16:29:05 +02:00
enkore de72c3507e Merge pull request #2585 from ThomasWaldmann/vagrant
vagrant: control VM cpus and pytest workers via env
2017-06-02 16:28:47 +02:00
enkore 47894072ad Merge pull request #2580 from enkore/issue/1101.integration.xxh
1101.integration.xxh
2017-06-02 16:23:54 +02:00
enkore d3373bebf1 Merge pull request #2588 from enkore/docs/quota
docs: quotas: clarify compatbility; only relevant to serve side
2017-06-02 16:22:20 +02:00
Marian Beermann d51f2bbbae docs: quotas: local repo disclaimer
...
2017-06-02 14:50:51 +02:00
Marian Beermann 089224975b docs: quotas: clarify compatbility; only relevant to serve side
also cf. "Enforcing the quota":

  The quota is enforcible only if *all* :ref:`borg_serve` versions
  accessible to clients support quotas
2017-06-02 13:12:43 +02:00
Marian Beermann b996afbc06 docs/security: used implementations; note python libraries 2017-06-02 13:07:31 +02:00
Marian Beermann 107e320a20 binaries: don't bundle libssl
ArchiverTestCaseBinary passes.
2017-06-02 13:00:28 +02:00
Marian Beermann 3c951df4cd docs/security: security track record of OpenSSL and msgpack 2017-06-02 12:21:59 +02:00
Thomas Waldmann 9b35fa1d39 vagrant: update cleaning 2017-06-02 06:12:30 +02:00
Thomas Waldmann a4729097cc vagrant: fix openbsd shell 2017-06-02 02:45:07 +02:00
Thomas Waldmann 16a296c11a vagrant: control VM cpus and pytest workers via env 2017-06-02 02:34:12 +02:00
Marian Beermann 6c91a750d1 algorithms: rename crc32 to checksums 2017-06-01 21:26:42 +02:00