Commit Graph

1660 Commits

Author SHA1 Message Date
TW 17bfcf37d5 Merge pull request #482 from ThomasWaldmann/fix-upgrade
Fix borg upgrade, issue #466
2015-12-10 13:33:41 +01:00
Thomas Waldmann 60babd14c3 borg upgrade - do not overwrite backup_repo/index.*, fixes #466
the code obviously wrote to both index.* files as they were hardlinked.
now we make a normal copy of index (and also hints) to avoid this.
2015-12-10 11:59:13 +01:00
Thomas Waldmann cd804e72b7 borg upgrade - move some code to convert_repo_index
it was a bit confusing to have repo-related code in a method called "convert_cache".
also fixed a typo "index index".
2015-12-10 11:35:48 +01:00
Thomas Waldmann 7acda553ff borg upgrade - fix locking
because Repository.__init__ normally opens and locks the repo, and the upgrader just
inherited from (borg) Repository, it created a lock file there before the "backup copy"
was made.

No big problem, but a bit unclean.

Fixed it to not lock at the beginning, then make the copy, then lock.
2015-12-10 11:11:06 +01:00
Thomas Waldmann e9ab11be49 borg upgrade - fix README contents 2015-12-10 10:51:56 +01:00
Thomas Waldmann 8671be1ef2 Increase FUSE read_size to 1024.
From https://github.com/borgbackup/borg/pull/480 discussion:

Did you try 1024 (linux cache block size) or 4096 (internal sector size of bigger
hdds, also used in msgpack fallback.py as lower bound, see link)?

I've tested different values - 512 and 1024 are slightly better than 4096 in my case.

read_size = 1    ls -laR: 75.57 sec
read_size = 64   ls -laR: 27.81 sec
read_size = 512          ls -laR: 27.40 sec
read_size = 1024         ls -laR: 27.20 sec
read_size = 4096         ls -laR: 30.15 sec
read_size = 0    ls -laR: 442.96 sec (default)

OK, maybe we should go for 1024 then. That happens to be < MTU size, so in case someone works on NFS
(or other network FS) we will have less reads, less network packets, less latency.
2015-12-10 10:09:06 +01:00
TW c4588e4eb4 Merge pull request #480 from alex3d/patch-1
Optimized fuse inode cache
2015-12-10 10:05:09 +01:00
Thomas Waldmann 20fb4c44a0 use python 3.5.1 to build binaries 2015-12-08 23:44:00 +01:00
TW 3f1e354b0a Merge pull request #428 from ThomasWaldmann/purge-using-least-space
compact_segments: save_space -> free unused segments quickly
2015-12-08 23:37:15 +01:00
alex3d 3256f22c74 Optimized fuse inode cache
Single-shot unpacker read buffer decreased from (default) 1Mb to 512b.
"ls -alR" on ~100k files backup mounted with fuse went from ~7min to 30 seconds.
2015-12-09 00:34:25 +03:00
TW b4a89414fb Merge pull request #478 from rumpelsepp/docs
Fix wrong installation instructions for archlinux
2015-12-08 19:32:18 +01:00
Stefan Tatschner f1b9b95e0d Fix wrong installation instructions for archlinux
On arch I don't want to perform a full system upgrade when
installing a new package; so let's drop the "yu" part.
2015-12-08 19:15:03 +01:00
Thomas Waldmann 499b6f7313 add a test that invokes borg prune --save-space 2015-12-08 18:36:41 +01:00
Thomas Waldmann bec2f72c8e mention --save-space at the place we talk about keeping disk space free 2015-12-08 18:36:41 +01:00
Thomas Waldmann 0c076ad114 compact_segments: save_space -> free unused segments quickly
as soon as one target segment is full, it is a good time to commit it and remove the source segments
that are already completely unused (because they were transferred int the target segment).

so, for compact_segments(save_space=True), the additional space needed should be about 1 segment size.

note: we can't just do that at the end of one source segment as this might create very small
target segments, which is not wanted.
2015-12-08 18:36:41 +01:00
Thomas Waldmann 5f1fcb3e63 add hint "not released yet" to latest changelog entry 2015-12-08 17:47:00 +01:00
Thomas Waldmann f97b9eb90d updated CHANGES 2015-12-08 12:16:58 +01:00
Thomas Waldmann 41eab542a8 add borg upgrade to the docs, fixes #464 2015-12-08 10:33:27 +01:00
Thomas Waldmann f7abff87f9 ran build_usage 2015-12-08 10:21:20 +01:00
Thomas Waldmann 9c3b206bf7 fix mailing list address in setup.py, fixes #468 2015-12-08 10:12:15 +01:00
Thomas Waldmann f2d41b1a69 Merge branch 'ThomasWaldmann-silent' 2015-12-08 10:03:22 +01:00
Thomas Waldmann b41f6dfbbf Merge branch 'silent' of https://github.com/ThomasWaldmann/borg into ThomasWaldmann-silent 2015-12-08 01:56:44 +01:00
Thomas Waldmann 74ee8154f2 add developer docs about output and logging 2015-12-08 01:45:22 +01:00
Thomas Waldmann cb821b119b remove --log-level, add --debug and --info option, update docs
removed --log-level due to overlap with how --verbose works now.

for consistency, added --info as alias to --verbose (as the effect is
setting INFO log level).

also added --debug which sets DEBUG log level.
note: there are no messages emitted at DEBUG level yet.

WARNING is the default (because we want mostly silent behaviour,
except if something serious happens), so we don't need --warning
as an option.
2015-12-08 01:37:34 +01:00
Thomas Waldmann 68225af449 archive checker: remove report_progress, fix log levels 2015-12-08 00:59:41 +01:00
TW d05b9b8ac9 Merge pull request #473 from ThomasWaldmann/hashindex-add
hashindex_add C implementation
2015-12-07 22:32:55 +01:00
TW 207bf5d8b3 Merge pull request #472 from yagebu/master
fix format of umask in help pages
2015-12-07 19:27:20 +01:00
Thomas Waldmann 720fc49498 hashindex_add C implementation
this was also the loop contents of hashindex_merge, but we also need it callable from Cython/Python code.

this saves some cycles, esp. if the key is already present in the index.
2015-12-07 19:13:58 +01:00
Jakob Schnitzer 3ca1d33d5c fix format of umask in help pages
fixes #463
2015-12-07 18:42:50 +01:00
TW c7bde3ba3e Merge pull request #471 from yagebu/master
helpers: remove functions that are only used once
2015-12-07 17:55:05 +01:00
Jakob Schnitzer 17952dff48 helpers: remove functions that are only used once
The read_msgpack and write_msgpack functions were only used in one place
each.  Since msgpack is read and written in lots of places, having
functions with these generic names is confusing. Also, the helpers
module is quite a mess, so reducing its size seems to be a good idea.
2015-12-07 14:29:01 +01:00
TW 689e40c398 Merge pull request #470 from DanielDent/patch-1
Load over SSL (avoids mixed content)
2015-12-07 03:27:28 +01:00
Daniel Dent 8c91923fb5 Load over SSL (avoids mixed content) 2015-12-06 18:08:32 -08:00
TW 2e5baa6ec2 Merge pull request #459 from ThomasWaldmann/increase-rpc-api-version
increase rpc protocol version to 2, fixes #458
2015-12-03 21:16:11 +01:00
Thomas Waldmann 6d083c0695 increase rpc protocol version to 2
this is needed because due to the locking improvements, some rpc calls' signature changed slightly.
2015-12-03 17:50:37 +01:00
Thomas Waldmann 1f8b64cc1f readme: add note about clientside encryption 2015-12-03 17:35:52 +01:00
TW 19f0b16d4d Merge pull request #457 from ThomasWaldmann/docs-add-resources
docs: add resources, fixes #149
2015-12-03 17:14:49 +01:00
Thomas Waldmann f1f2e78ced docs: move related projects to resources section 2015-12-03 17:13:39 +01:00
Thomas Waldmann b0975a75b5 docs: add resources section, with videos, talks, presentations 2015-12-03 16:58:48 +01:00
TW f5634092a2 Merge pull request #455 from ThomasWaldmann/add-progress-indication
Add progress indication, fixes #394
2015-12-03 15:04:44 +01:00
Thomas Waldmann df24ce5acd progress indicators: add tests 2015-12-03 14:45:16 +01:00
Thomas Waldmann 887196b00e progress indicators: better docstring, minor code improvement 2015-12-03 14:14:28 +01:00
TW 9005586ca4 Merge pull request #452 from ThomasWaldmann/hashtable
misc. hash table tuning
2015-12-02 16:45:39 +01:00
TW 10bf6fdd88 Merge pull request #456 from skorokithakis/master
Display proper repo URL.
2015-12-02 16:42:54 +01:00
Stavros Korokithakis d572ceaca2 Display proper repo URL. 2015-12-02 16:51:49 +02:00
Thomas Waldmann 21bd01ef16 add a --filter option replacing --changed/--unchanged
the problem here was that we do not just have changed and unchanged items,
but also a lot of items besides regular files which we just back up "as is" without
determining whether they are changed or not. thus, we can't support changed/unchanged
in a way users would expect them to work.

the A/M/U status only applies to the data content of regular files (compared to the index).
for all items, we ALWAYS save the metadata, there is no changed / not changed detection there.

thus, I replaced this with a --filter option where you can just specify which
status chars you want to see listed in the output.

E.g. --filter AM will only show regular files with A(dded) or M(odified) state, but nothing else.
Not giving --filter defaults to showing all items no matter what status they have.

Output is emitted via logger at info level, so it won't show up except if the logger is at that level.
2015-12-02 03:29:20 +01:00
Thomas Waldmann fe6916bd22 refactor upgrade progress indication code to use ProgressIndicatorPercent 2015-12-02 01:26:26 +01:00
Thomas Waldmann 7a1316cb79 implement ProgressIndicators, use it for repo check and segment replay, fixes #195, fixes #188 2015-12-02 01:06:07 +01:00
TW fffdb59c71 Merge pull request #454 from skorokithakis/master
Clarify encryption.
2015-12-02 00:53:59 +01:00
Stavros Korokithakis e6d3720d9b Clarify encryption. 2015-12-02 01:48:08 +02:00