1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-25 01:06:50 +00:00
Commit graph

2070 commits

Author SHA1 Message Date
Oleg Drokin
ce176b52bf Workround a bug in Linux fadvise FADV_DONTNEED, fixes #907
Despite what the man page says, Linux does not discard the initial
partial page only. The ending page would be truncated no matter if
it is partial or not.
Page-align the fadvise size to take care of this.
Also while we are at it, roll back initial fadvise offset to the
previous page boundary to actually throw away that page as we
no longer need it having read the second part now and the first
time in the previous call.

This patch has a noticeable impact in my Linux testing when the file
is on the rotating media. The total test runtime decreased by a bit
over 10%, but since over half of that time was actually cpu time,
the actual iowait time decreased around 20%.
2016-04-15 20:16:47 -04:00
TW
104e88534e Merge pull request #910 from ThomasWaldmann/docs-clarify-mountpoint
docs fixes
2016-04-15 12:08:08 +02:00
Thomas Waldmann
43b4fda393 docs: fix confusing usage of "repo" as archive name 2016-04-15 03:38:43 +02:00
Thomas Waldmann
bc854e3e64 docs: use /path/to/repo, fixes #901
/mnt/backup was confusing as people like to mount their backup disk on /mnt/backup,
but borg init /mnt/backup does not work if that directory already exists because it is
the mountpoint. it would work, if /mnt was the mountpoint, but that is not obvious
and also unusual.
2016-04-15 03:35:37 +02:00
Thomas Waldmann
68e870795d update CHANGES 2016-04-15 03:09:18 +02:00
enkore
dd95d0ebe8 Merge pull request #891 from enkore/feature/cython-summarize
Add overflow checks to refcounting, port stuff to Cython etc
2016-04-15 00:06:25 +02:00
Marian Beermann
29ebdbadae
refcounting: use uint32_t, protect against overflows, fix merging for BE 2016-04-14 23:38:56 +02:00
Marian Beermann
c90745cdbb Port hashindex_summarize into ChunkIndex.summarize 2016-04-14 11:46:12 +02:00
TW
0a253edcfd Merge pull request #898 from ThomasWaldmann/1.0-maint
reproducible doc for ProgressIndicator*
2016-04-13 16:09:14 +02:00
Danny Edel
60ca65a438 reproducible doc for ProgressIndicator*
building the API docs captured sys.stderr's IO charset, making the build
unreproducible.
2016-04-13 14:54:34 +02:00
TW
c2f95332e5 Merge pull request #887 from enkore/issue/886
hashindex_summarize: fix missing byte-order conversion
2016-04-11 23:21:48 +02:00
Marian Beermann
90a9fbd21d
hashindex_summarize: fix missing byte-order conversion
Fixes #886
2016-04-11 22:22:24 +02:00
TW
d8c630b2d7 Merge pull request #884 from enkore/issue/874
borg delete: fix --cache-only for broken caches
2016-04-11 14:16:22 +02:00
Marian Beermann
d12c1deece
borg delete: fix --cache-only for broken caches
This also makes --cache-only idempotent: it won't fail if the cache
is already deleted.

Fixes #874
2016-04-11 12:50:42 +02:00
TW
8dbbc35b71 Merge pull request #875 from bket/1.0-maint
fix issue #873 - running borg with --one-file-system traverses in excluded filesystems
2016-04-10 16:52:39 +02:00
Björn Ketelaars
fd10d1386c fix issue #873 2016-04-10 16:24:58 +02:00
Thomas Waldmann
6a3f2d7864 update CHANGES 2016-04-08 23:41:15 +02:00
Thomas Waldmann
d5d037b97d ran build_api build_usage 2016-04-08 23:38:46 +02:00
TW
299e9e28bf Merge pull request #861 from ThomasWaldmann/info-not-v
reorder log level options, so --info shows up in help
2016-04-08 23:19:54 +02:00
Thomas Waldmann
7861de3930 reorder log level options, so --info shows up in help 2016-04-08 22:55:07 +02:00
Thomas Waldmann
e9b3b3fa1a updated CHANGES 2016-04-08 19:52:47 +02:00
TW
305273d053 Merge pull request #852 from enkore/feature/1.0ignore-inode
1.0-maint, borg create: add --ignore-inode option [to fix sshfs performance]
2016-04-06 23:40:57 +02:00
Marian Beermann
29bc396559
borg create: add --ignore-inode option
This is mainly meant for use with network file systems like sshfs and
possibly CIFS, which don't convey proper inode numbers.
2016-04-06 23:23:14 +02:00
TW
df7aa6476d Merge pull request #845 from enkore/issue/844
Test suite: Reset exit code of persistent archiver
2016-04-06 15:06:52 +02:00
Marian Beermann
b59f92a533 Test suite: Reset exit code of persistent archiver
#844
2016-04-06 10:04:35 +02:00
TW
515b7454a3 Merge pull request #839 from enkore/issue/791
If BORG_PASSPHRASE is present but wrong, don't prompt for password, f…
2016-04-04 21:47:21 +02:00
TW
9a7bad295c Merge pull request #838 from enkore/issue/792
Remote: don't print tracebacks for Error exceptions handled downstream
2016-04-04 21:37:04 +02:00
Marian Beermann
890e44ef60 RemoteRepository: clean up pipe if remote open() fails 2016-04-04 17:10:14 +02:00
Marian Beermann
425a4d819d Remote: don't print tracebacks for Error exceptions handled downstream
(What we'd really want is to have proper exception transporting over
 the RPC)

Fixes #792
2016-04-04 17:09:52 +02:00
Marian Beermann
8f716d8ca1 If BORG_PASSPHRASE is present but wrong, don't prompt for password, fail instead.
Leaves PassphraseKey alone, since I cannot test it.

Fixes #791
2016-04-03 21:37:15 +02:00
TW
e6fff5fe1f Merge pull request #836 from ThomasWaldmann/complete-log-levels
add --warning, --error, --critical for completeness, fixes #826
2016-04-03 20:51:02 +02:00
TW
a519333376 add --warning, --error, --critical for completeness, fixes #826
it's not recommended to suppress warnings or errors,
but the user may decide this on his own.

note: --warning is not given to borg serve so a <= 1.0.0 borg
will still work as server. it is not needed as it is the default.
2016-04-03 20:20:48 +02:00
TW
7b6ae60df5 Merge pull request #834 from enkore/issue/826
ArchiveChecker: move "orphaned objects check skipped" to INFO log level
2016-04-03 19:15:30 +02:00
Marian Beermann
d7299c9230 ArchiveChecker: move "orphaned objects check skipped" to INFO log level
Fixes #826
2016-04-03 18:23:40 +02:00
TW
86361fd75f update CHANGES
the password roundtrip was already in 1.0.0, removed it from 1.0.1 changes.
rephrase / prettify some stuff.
2016-04-03 17:49:37 +02:00
TW
fc10ac0ef9 Merge pull request #830 from enkore/feature/1.0ctxmng
Make Repository a context manager, use decorators for wrapping withs
2016-04-03 17:36:38 +02:00
Marian Beermann
83586ae09c Make Repository a context manager, use decorators for wrapping withs
(Remote)Repository.close() is not a public API anymore, but a private
API. It shall not be used from within other classes than Repository
or it's tests. The proper way is to use a context manager now. However,
for RPC/Remote compatibility with Borg 1.0 it is kept and unchanged.

Repositories are not opened by __init__ now anymore, it is done
by binding it to a context manager. (This SHOULD be compatible both ways
with remote, since opening the repo is handled by a RepositoryServer method)

Decorators @with_repository() and @with_archive simplify
context manager handling and remove unnecessary indentation.

Backported to 1.0-maint
2016-04-03 17:14:43 +02:00
TW
8d9dbc6901 Merge pull request #820 from ipha/master
fix incorrect _ns variables
2016-03-31 23:53:19 +02:00
TW
ad57178ad7 Merge pull request #819 from enkore/fix/chunker-io2
Chunker: fix wrong EOF assumption, check for return type
2016-03-31 23:45:47 +02:00
Mitch Bigelow
f406bf7879 fix incorrect _ns variables 2016-03-31 17:31:53 -04:00
Marian Beermann
061bf59d5d Chunker: fix wrong EOF assumption[1], check for return type[2]
[1]
This worked incidentally because OSes tend to return at least one page
worth of data when EOF is not reached. Increasing WINDOW_SIZE beyond
the page size might have lead to data loss.

[2]
If read() of the passed Python object returned something not-bytes,
PyBytes_Size returns -1 (ssize_t) which becomes a very larger number for
memcpy()s size_t.
2016-03-31 22:03:17 +02:00
Thomas Waldmann
2f74d2e288 update CHANGES 2016-03-31 21:44:43 +02:00
wormingdead
1cc053bee4 Document logo font. Recreate logo png. Remove GIMP logo file. 2016-03-31 21:37:30 +02:00
Alexander Pyhalov
e494d24d6a failing hashindex tests on netbsd, fixes #804 2016-03-31 21:32:27 +02:00
Thomas Waldmann
c35dbac44b update CHANGES 2016-03-31 21:28:35 +02:00
TW
8cfc930066 Merge pull request #817 from enkore/feature/append-only
Feature append only
2016-03-31 19:57:13 +02:00
Marian Beermann
8f6ce9051b append-only mode: docs reformulated 2016-03-31 18:52:40 +02:00
Marian Beermann
effa992d22 append-only mode: use single file for log, disallow check --repair, docs 2016-03-31 18:23:08 +02:00
Marian Beermann
ffc8cf6c97 Append-only mode for repositories
New repository config item, repository.append_only, causes Borg to never
delete or append to existing data files. Hints and indices are handled
as before, old ones are deleted, because they can get quite large, but
are automatically reconstructed: no need to keep them.

When append_only is activated a file /path/to/repo/transactions/<NUMBER>
will be created for every commit.
Deleting all segments <NUMBER+1> and higher will rollback to that commit.

Note that this only influences Borg behaviour. Since repository config
can't be altered remotely (except for repository.key) this can't be
disabled when accessed remotely over SSH with "borg serve" as the
forced command.

This is only a feature to support the use case, and does not replace
appropriate file system permissions or monitoring.

Resolves #809
2016-03-31 17:29:17 +02:00
TW
bf208479d7 Merge pull request #801 from ThomasWaldmann/cosmetic-fix
fix capitalization, add ellipses, change log level to debug for 2 mes…
2016-03-26 17:16:13 +01:00