1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-03-12 07:08:47 +00:00
Commit graph

5769 commits

Author SHA1 Message Date
Elmar Hoffmann
d1e730355d only store compressed data if the result actually is smaller
- add DecidingCompressor class providing generic decide(),
  decide_compress() and compress() suited to work using a typical
  private _decide() implementation that eventually generates compressed
  data as a side-effect of the actual decision process
- the new decide_compress() method returns both the actually used
  compressor (which may be NONE) and the compressed data to allow
  the auto compressor to use that information instead of having to
  figure out whether the LZ4 compressor decided to use NONE or LZ4
  compression
- derive LZ4, LZMA and ZSTD classes from DecidingCompressor and
  have them fall back to NONE if the compressed data turns out bigger
  than the original data
- leave ZLIB as is, as it does not use an ID header and compatibility
  being the only reason to use it instead of above algorithms anyway
- adapt testsuite to cope with incompressible test data not being
  compressed
- add tests to verify that incompressible data is not compressed to
  larger size compressed data
2020-04-21 18:32:12 +02:00
lexa-a
cf8dac55de
Fix FUSE low linear read speed on large files (#5032)
Fix FUSE low linear read speed on large files

This patch is a quick fix for an inefficient seek algorithm used in read() function:
1) On each read call chunk list for given file is regenerated. 
2) Finding needed chunk takes a lot of time for large offsets.  

For 64 Gb files read speed drops to 16 MB/s, for 128 Gb - to 8 MB/s, and so on.

After applying this patch read speed becomes 270 MB/s, and does not depend on read position inside file.

Co-authored-by: Thomas Waldmann <tw@waldmann-edv.de>
2020-04-04 15:36:35 +02:00
TW
c19647df38
Merge pull request #5076 from elho/auto-compressor-correct-ratio-calculation
correctly calculate compression ratio, taking header size into accoun…
2020-04-04 14:02:44 +02:00
Elmar Hoffmann
54ab8cd917 correctly calculate compression ratio, taking header size into account, too 2020-04-04 10:29:12 +02:00
TW
cd1f2b11be
Merge pull request #5073 from ThomasWaldmann/fix-birthtime-old-llfuse-master
require recent enough llfuse for birthtime support, fixes #5064
2020-04-02 21:15:53 +02:00
TW
da80a6a37d
Merge pull request #4918 from mirobertod/master
Issue #4788 added consider checkpoints and relative test
2020-04-02 21:15:13 +02:00
Thomas Waldmann
d1733b6fc0 require recent enough llfuse for birthtime support, fixes #5064
also:

add llfuse < 2.0 requirement also for python>=3.7.
maybe not really required because llfuse seems rather dead anyway,
but good for consistency.
2020-04-02 20:43:29 +02:00
TW
bd9acb6ab3
Merge pull request #4987 from finefoot/patch-7
Adding comments and explanations to Travis config and install script, improving OS X builds
2020-04-01 23:06:19 +02:00
TW
c8ce849b76
Merge pull request #5066 from ThomasWaldmann/finefoot-p4
Update prevalence of env vars to set config and cache paths
2020-04-01 21:36:11 +02:00
finefoot
60d976ede8 Comments, explanations and improvements for Travis CI builds 2020-04-01 20:12:26 +02:00
Thomas Waldmann
888949c641 Improve description of path variables
Original commit by @finefoot, re-applied due to merge conflict.
2020-04-01 18:54:45 +02:00
finefoot
aa8923182c Update prevalence of env vars to set config and cache paths 2020-04-01 15:10:03 +02:00
TW
38580c9a98
Merge pull request #5046 from fantasya-pbem/feature/4489_Deprecate-nobsdflags
[FEATURE] #4489 – Deprecate --nobsdflags option
2020-03-25 14:08:45 +01:00
Thalian
08a7661e67 [FEATURE] #4489 – Deprecate --nobsdflags option
Replaced by --noflags. In internal data structure the key 'bsdflags' is kept for backwards compatibility.
2020-03-25 06:35:15 +01:00
TW
e388fabd5b
Merge pull request #5057 from fantasya-pbem/docs/2929_Document-delete-data
[DOCS] #2929 – Document how to completely delete data
2020-03-22 22:01:50 +01:00
TW
ab7c764e0d
Merge pull request #5059 from fantasya-pbem/docs/Fix-invalid-list-indent
Fix broken indent of a list item
2020-03-22 21:57:26 +01:00
Thalian
abd81b2ebe Fix broken indent of a list item
This prevents Sphinx WARNING: Bullet list ends without a blank line; unexpected unindent.
2020-03-22 15:17:21 +01:00
Thalian
a08b058fa0 [DOCS] #2929 – Document how to completely delete data
Add new FAQ entry that lists two ways how to really delete files from archives.

fixes #2929
2020-03-20 21:28:40 +01:00
TW
d832c6447c
Merge pull request #5045 from fantasya-pbem/docs/5000_Add-rendering-changes
docs: add "rendering docs" to release todo, fixes #5000
2020-03-20 17:02:13 +01:00
TW
73412ee24a
Merge pull request #5051 from finefoot/patch-9
Fix typos
2020-03-20 16:57:15 +01:00
TW
dfc4f1226b
Merge pull request #5030 from fantasya-pbem/docs/4587_Sphinx-warnings
docs: fix sphinx warnings, fixes #4587
2020-03-20 16:55:27 +01:00
Thalian
19563b968e [DOCS] #4587 – Make Sphinx warnings break docs build
Improve / clean up to trigger CI tests again.
2020-03-20 12:01:52 +01:00
finefoot
a2a4d88524
Fix typos 2020-03-20 10:57:31 +01:00
Thalian
a8ecec24c2 [DOCS] #5000 – Add rendering docs to release todo
Add a line regarding checking the markup.
2020-03-18 19:54:03 +01:00
TW
8577eea03b
Merge pull request #5042 from elho/drop-pointless-asserts
drop pointless asserts covered by other stricter asserts already
2020-03-18 00:11:21 +01:00
TW
1ae63f361d
Merge pull request #5043 from elho/optimize-compressor-instantiation
Optimize compressor instantiation
2020-03-18 00:08:40 +01:00
Elmar Hoffmann
fccc72271d do not instantiate two new compressors on each instantiation of auto compressor 2020-03-17 18:14:02 +01:00
Elmar Hoffmann
4bc18c5ff4 drop pointless asserts covered by other stricter asserts already 2020-03-17 14:54:14 +01:00
Thalian
19aa9825a8 [DOCS] #4587 – Make Sphinx warnings break docs build
general.rst and man_intro.rst both included usage_general.rst.inc, which resulted in three Sphinx warning "WARNING: duplicate label".
To prevent this we move all sections of usage_general into own include files and add a second usage_general file without the three labels.
2020-03-16 19:22:59 +01:00
Thalian
62ace206d6 [DOCS] #4587 – Make Sphinx warnings break docs build
Add VS Code dir to ignores.
2020-03-16 19:06:00 +01:00
Thalian
54af1104ef [DOCS] #4587 – Make Sphinx warnings break docs build
Add width 100% to image.
2020-03-16 19:06:00 +01:00
Thalian
6990feadb6 [DOCS] #4587 – Make Sphinx warnings break docs build
Remove blank line at top of file.
2020-03-16 19:06:00 +01:00
Thalian
04a25ba108 [DOCS] #4587 – Make Sphinx warnings break docs build
Add blank line to prevent Sphinx warning "WARNING: Explicit markup ends without a blank line; unexpected unindent.".
2020-03-16 19:06:00 +01:00
Thalian
0359b97cce [DOCS] #4587 – Make Sphinx warnings break docs build
Prevent warnings of type "checking consistency... WARNING: document isn't included in any toctree" by using the :orphan: directive.
2020-03-16 19:06:00 +01:00
Thalian
07c89cd794
[DOCS] #4941 – FAQ Borg config dir (#5029)
[DOCS] #4941 – How important is Borg config?

Add one FAQ with for $HOME/.config/borg, describing its content and how to take care of it.

Change "Default to" to "Defaults to".
Move TMPDIR to "Directories and files" section.
Add link to new FAQ for Borg config directory.
Add link to cache internals.
2020-03-16 00:17:46 +01:00
TW
08496f8b95
Merge pull request #5033 from fantasya-pbem/docs/4073_JSON-logging
[DOCS] #4073 – PlaceholderError not printed as JSON
2020-03-15 20:48:12 +01:00
Thalian
0b5bb8dfec [DOCS] #4073 – PlaceholderError not printed as JSON
Add a warning for --log-json option that parsing errors will always be printed as plain text.
2020-03-15 20:37:28 +01:00
TW
c140dc995f
Merge pull request #5025 from milkey-mouse/reflow-docs
Reflow some really long lines in the docs
2020-03-12 02:23:07 +01:00
Milkey Mouse
f7f2493f75
docs: reflow some really long lines
I used `grep -Pnr '.{100}' *.rst` to find lines >100 characters long and
reflowed them where reasonable. Line length in the docs isn't too important (it
doesn't matter once they're compiled), but it's nice not to have super-long
lines in one's editor.
2020-03-11 16:27:57 -07:00
TW
adf77e4f39
Merge pull request #5023 from milkey-mouse/fix-sphinx-warning
Suppress Sphinx lexer warnings in frontends.rst
2020-03-12 00:07:52 +01:00
TW
f4a7de0882
Merge pull request #5024 from milkey-mouse/fix-4999
Add updating borgbackup.org/releases to release checklist
2020-03-12 00:06:36 +01:00
Milkey Mouse
4e95ad6230
Add updating borgbackup.org/releases to release checklist (fixes #4999) 2020-03-11 15:51:29 -07:00
Milkey Mouse
1edf587bf3
Suppress Sphinx lexer warnings in frontends.rst
Because some of the JSON blocks in frontends.rst included non-JSON
contents (user replies, etc.) the blocks didn't parse/highlight and
`make html` complained:

borg/docs/internals/frontends.rst:28: WARNING: Could not lex literal_block as "json".

There's no easy way to enable and disable highlighting just for
specific lines, but individually unsetting the highlight language per
block suppresses the warnings.
2020-03-11 15:33:44 -07:00
TW
425f0919df
Merge pull request #5018 from ThomasWaldmann/update-changes-from-1.1
update changes.rst from 1.1-maint branch, fixes #5006
2020-03-09 22:43:12 +01:00
TW
547f39fe45
Merge pull request #5016 from ThomasWaldmann/improve-repo-check-output-master
Improve repo check output (master)
2020-03-09 22:19:43 +01:00
TW
854cc00f65
Merge pull request #5017 from ThomasWaldmann/vagrant-fixes-master
add a debian buster and a ubuntu focal VM
2020-03-09 22:13:17 +01:00
Thomas Waldmann
f74a3958e9 update changes.rst from 1.1-maint branch, fixes #5006
pre-1.1.11 advisory
changelogs of 1.1.10 and 1.1.11
2020-03-09 22:11:14 +01:00
Thomas Waldmann
6e44e46f40 add a debian buster and a ubuntu focal VM 2020-03-09 22:00:57 +01:00
Thomas Waldmann
dd7c08ae91 do not emit warning headline, there might be no mismatches to report
instead, use a slightly different format for the warnings themselves.
2020-03-09 21:48:46 +01:00
Thomas Waldmann
d124cf0761 check: improve error output for matching index size, see #4829
if the rebuilt index size matched the on-disk index size AND there
was a difference in e.g. 1 key, the old code only output the key/value
for one index, but not what is present in the other index.

we already had better code in the branch for different index sizes,
so just use that for both cases.

additionally we tell when the index size matches (new) because we
also tell if there is a mismatch.
2020-03-09 21:47:03 +01:00