1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-25 09:19:31 +00:00
Commit graph

2792 commits

Author SHA1 Message Date
Marian Beermann
ac80332ce7 Merge branch '1.0-maint' into master
# Conflicts:
#	src/borg/repository.py
#	src/borg/testsuite/repository.py
2016-08-14 15:51:49 +02:00
Thomas Waldmann
42b6a838da fix cyclic import issue, fix tests
needed to increase ChunkBuffer size due to increased items stream chunk size
to get the test working.
2016-08-14 15:26:56 +02:00
Thomas Waldmann
8be6761c26 Merge commit 'feb7e2517ef7ec07cc638953a86c726aada7d37e' 2016-08-14 15:05:11 +02:00
TW
c19fb8b921 Merge pull request #1477 from borgbackup/1.0.7rc2rst
Fix changes.rst formatting, clarify changelog
2016-08-13 15:18:51 +02:00
enkore
17aacb9719 Fix changes.rst formatting, clarify changelog 2016-08-13 10:18:41 +02:00
TW
4712b9d133 Merge pull request #1474 from ThomasWaldmann/update-1.0-changes
update CHANGES
2016-08-13 02:24:32 +02:00
Thomas Waldmann
07b47ef4a5 update CHANGES 2016-08-13 02:23:40 +02:00
TW
a12672530c Merge pull request #1448 from enkore/issue/1442
Fix untracked segments made by moved DELETEs
2016-08-13 02:13:27 +02:00
TW
feb7e2517e Merge pull request #1472 from ThomasWaldmann/lz4-buffer
lz4 reusing helpers.Buffer
2016-08-13 02:13:11 +02:00
TW
df967722e3 Merge pull request #1471 from ThomasWaldmann/buffer
refactor buffer code into helpers.Buffer class
2016-08-13 02:02:34 +02:00
Marian Beermann
3b716f98ff Add regression test for 95cf337 2016-08-13 01:47:51 +02:00
Marian Beermann
95cf337fa5 Fix untracked segments made by moved DELETEs
Fixes #1442

(note that the segments _still_ get generated, see the comment, they
 should be collected now on the next compaction run)
2016-08-13 01:46:37 +02:00
Thomas Waldmann
e1bc7b62f6 lz4: reuse helpers.Buffer 2016-08-13 01:46:15 +02:00
Thomas Waldmann
ef9e8a584b refactor buffer code into helpers.Buffer class, add tests 2016-08-13 01:45:23 +02:00
TW
00449ad7b0 Merge pull request #1470 from ThomasWaldmann/document-archive-limit
document archive limitation, #1452
2016-08-13 00:12:17 +02:00
TW
4e5b80bbd5 Merge pull request #1464 from ThomasWaldmann/fix-xattr-exception
xattr: dynamically grow result buffer until it fits, fixes #1462
2016-08-12 18:21:59 +02:00
Thomas Waldmann
3c7dddcb99 update changelog 2016-08-12 18:00:50 +02:00
Thomas Waldmann
c834b2969c document archive limitation, #1452 2016-08-12 17:54:15 +02:00
Thomas Waldmann
8630ebf3f0 xattr: fix module docstring 2016-08-12 16:56:19 +02:00
Thomas Waldmann
b6ead3dce2 xattr: use some string processing functions, dedup, simplify 2016-08-12 16:56:19 +02:00
Thomas Waldmann
7ea052a5e8 xattr: buffer full check for freebsd
freebsd 10.2:

it does not give rc < 0 and errno == ERANGE if the buffer was too small,
like linux or mac OS X does.

rv == buffer len might be a signal of truncation.
rv > buffer len would be even worse

not sure if some implementation returns the total length of the data,
not just the amount put into the buffer.

but as we use the returned length to "truncate" the buffer, we better
make sure it is not longer than the buffer.

also: freebsd listxattr memoryview len bugfix
2016-08-12 16:56:19 +02:00
Thomas Waldmann
4eac66fe2a xattr: fix race condition in get_all(), see issue #906 2016-08-12 16:56:19 +02:00
Thomas Waldmann
418794f66f xattr: errno ERANGE has different meanings 2016-08-12 16:56:19 +02:00
Thomas Waldmann
09dbec99a0 raise OSError including the error message derived from errno
also: deal with path being a integer FD
2016-08-12 16:56:19 +02:00
Thomas Waldmann
67c6c1898c xattr: refactor code, deduplicate
this code would be otherwise duplicated 3 times for linux, freebsd, darwin.
2016-08-12 16:56:19 +02:00
Thomas Waldmann
17c77a5dc5 xattr: dynamically grow result buffer until it fits, fixes #1462
this also fixes the race condition seen in #1462 because there is only 1 call now.
either it succeeds, then we get the correct length as result and truncate the result value to that length.
or it fails with ERANGE, then we grow the buffer to double size and repeat.
or it fails with some other error, then we throw OSError.
2016-08-12 16:56:19 +02:00
enkore
6bf48bbf67 Merge pull request #1457 from ThomasWaldmann/explain-compat-typeerror
explain the confusing TypeError, fixes #1456
2016-08-12 15:16:36 +02:00
TW
32e6507366 Merge pull request #1468 from enkore/issue/1467
Print active env var override by default
2016-08-12 14:05:33 +02:00
Marian Beermann
c61a9e8aa0 Print active env var override by default
Fixes #1467
2016-08-12 13:00:53 +02:00
enkore
e05258f93f Merge pull request #1461 from ThomasWaldmann/improve-docs
docs: improve prune examples
2016-08-12 12:54:24 +02:00
enkore
f8b2ffe999 Merge pull request #1458 from ThomasWaldmann/merge-1.0-maint
Merge 1.0 maint
2016-08-11 14:18:03 +02:00
Thomas Waldmann
6e658a5a6c docs: improve prune examples 2016-08-10 15:45:57 +02:00
enkore
a951d23d27 Merge pull request #1460 from ThomasWaldmann/fix-init
add transaction_id assertion
2016-08-10 14:29:46 +02:00
Thomas Waldmann
7b5772df2d add transaction_id assertion
an acd_cli (amazon cloud drive fuse filesystem) user had "borg init" crash in the line below.

by adding the assertion we tell that we do not expect the transaction_id to be None there,
so it is easier to differentiate from a random coding error.
2016-08-10 13:56:06 +02:00
enkore
e89c5b11b8 Merge pull request #1459 from ThomasWaldmann/larger-items-stream-chunks
larger item metadata stream chunks, fixes #1452
2016-08-09 23:37:17 +02:00
enkore
006d1df517 Merge pull request #1450 from enkore/f/recreatefactors
minor recreate refactor
2016-08-09 23:28:58 +02:00
Marian Beermann
7d9fba5a41 ArchiveRecreater.copy_items: progress from target instead of source
(it produces the same output, just less confusing)
2016-08-09 21:20:13 +02:00
TW
ff5d9a3f12 Merge pull request #1447 from enkore/f/debug-topic
Debugging topics and some other minor stuff
2016-08-09 20:53:07 +02:00
Thomas Waldmann
2624d6f818 larger item metadata stream chunks, fixes #1452
increasing the mask (target chunk size) from 14 (16kiB) to 17 (128kiB).
this should reduce the amount of item metadata chunks an archive has to reference to 1/8.
this does not completely fix #1452, but at least enables a 8x larger item metadata stream.
2016-08-09 20:30:50 +02:00
Thomas Waldmann
c955d59273 Merge branch '1.0-maint' 2016-08-09 20:09:13 +02:00
TW
316c0cd6f0 Merge pull request #1455 from ThomasWaldmann/fix-compr-buffer-size
LZ4: dynamically enlarge the (de)compression buffer, fixes #1453
2016-08-09 18:36:55 +02:00
TW
4c51bed665 Merge pull request #1454 from ThomasWaldmann/enfore-max-object-size-put
repo: do not put objects that we won't get, fixes #1451
2016-08-09 18:17:03 +02:00
Thomas Waldmann
20392f8dd9 repo: split size check into too small and too big
also add a hint if somebody needs to restore an archive that has too big objects.
2016-08-09 18:05:22 +02:00
Thomas Waldmann
a360307938 repo: do not put objects that we won't get, fixes #1451
we will not get() objects that have a segment entry larger than MAX_OBJECT_SIZE.
thus we should never produce such entries.

also: introduce repository.MAX_DATA_SIZE that gives the max payload size.
2016-08-09 18:05:22 +02:00
Thomas Waldmann
fc92822b6c explain the confusing TypeError, fixes #1456 2016-08-09 17:35:27 +02:00
Thomas Waldmann
b0e7bb5ddc fixup: use thread-local buffer
start with 0 bytes length (saves memory in case lz4 is not used).
always grow when a bigger buffer is needed.
avoid per-call reallocation / freeing / garbage.
2016-08-09 17:05:24 +02:00
Thomas Waldmann
d3000a7e5d LZ4: dynamically enlarge the (de)compression buffer, fixes #1453
the statically allocated COMPR_BUFFER was right size for chunks,
but not for the archive item which could get larger if you have
many millions of files/dirs.
2016-08-09 02:52:21 +02:00
enkore
51054da692 Merge pull request #1444 from ThomasWaldmann/merge-1.0-maint
Merge 1.0 maint
2016-08-08 20:28:35 +02:00
Marian Beermann
0a65e83df3 check --verify-data: remove incorrect help paragraph
(since d0ec7e76bb - doesn't mean this probably useful feature may not
 be reimplemented, on the contrary)
2016-08-08 16:38:31 +02:00
Marian Beermann
bec5051ea5 helpers.format_timedelta: use timedelta.total_seconds() 2016-08-08 16:38:31 +02:00