1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-01-01 12:45:34 +00:00
Commit graph

7462 commits

Author SHA1 Message Date
Franco Ayala
2ed7f317d3
Adding performance statistics to borg create (#6991)
- file status A/M/E counters
- chunking time
- hashing time
- rx_bytes / tx_bytes

Note: the sleep() in the test is needed due to timestamp granularity on linux being much more coarse than expected (uses the system timer, 100Hz or 250Hz).
2022-10-19 21:40:02 +02:00
TW
b8a0e0d6bd
Merge pull request #7087 from ThomasWaldmann/update-changes
update CHANGES
2022-10-17 00:12:55 +02:00
Thomas Waldmann
4b446dc146 update CHANGES 2022-10-12 22:49:58 +02:00
TW
a74bcb786d
Merge pull request #7081 from ThomasWaldmann/fix-transfer-chunker-params
transfer/upgrade: fix borg < 1.2 chunker_params, fixes #7079
2022-10-11 20:37:56 +02:00
Thomas Waldmann
c98f8e44b9 transfer/upgrade: fix borg < 1.2 chunker_params, fixes #7079
add the missing chunker_name as first element of the tuple.
2022-10-10 21:16:44 +02:00
TW
6e95e5464f
Merge pull request #7078 from ThomasWaldmann/fix-item-_dict
transfer/upgrade: do not access Item._dict, fixes #7077
2022-10-10 19:45:03 +02:00
Thomas Waldmann
3fa7837a8b transfer/upgrade: do not access Item._dict, fixes #7077
after the cython code refactor in #7063, accessing the internal _dict is
not possible any more.

but looks like we do not even need that.
2022-10-08 23:23:09 +02:00
TW
349b4905ce
Merge pull request #7074 from ThomasWaldmann/fix-nfiles-master
archive.save(): always use metadata from stats, fixes #7072
2022-10-08 19:59:09 +02:00
TW
13f90ed8b3
Merge pull request #7076 from ThomasWaldmann/fix-benchmark-compression-api
benchmark: fixed TypeError in compression benchmarks, fixes #7075
2022-10-05 23:19:15 +02:00
Thomas Waldmann
bf3f9b5e5b benchmark: fixed TypeError in compression benchmarks 2022-10-05 22:11:44 +02:00
Thomas Waldmann
2e83d18d35 archive.save(): always use metadata from stats, fixes #7072
e.g. nfiles, size, etc.

fixes:
- checkpoint archives did not have this metadata yet
- borg import-tar did not have this metadata yet
2022-10-03 23:25:02 +02:00
TW
16e8213716
Merge pull request #7071 from ThomasWaldmann/misc
misc updates / fixes
2022-10-03 21:59:19 +02:00
Thomas Waldmann
06a9336a58 vagrant: use 3.10.7 for binary building 2022-10-03 21:04:31 +02:00
Thomas Waldmann
4574ae0178 update quickstart docs with --match-archives 2022-10-03 20:30:34 +02:00
Thomas Waldmann
d527429339 update README for borg2 2022-10-03 20:23:56 +02:00
Thomas Waldmann
8342f74d5c docs: add rcompress to usage index 2022-10-03 13:50:29 +02:00
Thomas Waldmann
c326b9d160 fix repository.scan api minimum requirement 2022-10-02 23:47:50 +02:00
TW
94b881d6c9
Merge pull request #7069 from ThomasWaldmann/rel200b3
release 2.0.0b3
2022-10-02 22:46:59 +02:00
Thomas Waldmann
3f159ca3bb build_man / build_usage 2022-10-02 15:51:17 +02:00
Thomas Waldmann
5d8d21df4d rcompress docs / examples / markup fixes 2022-10-02 15:50:41 +02:00
Thomas Waldmann
c6785c8f15 set release date 2022-10-02 15:01:16 +02:00
TW
66249b7394
Merge pull request #7067 from ThomasWaldmann/update-changes
update CHANGES
2022-10-02 14:59:39 +02:00
Thomas Waldmann
fa74247ecb update CHANGES 2022-10-02 14:51:34 +02:00
TW
c29d4a096b
Hashindex header work, fixes #6960 (#7064)
support reading new, improved hashindex header format, fixes #6960

Bit of a pain to work with that code:
- C code
- needs to still be able to read the old hashindex file format,
- while also supporting the new file format.
- the hash computed while reading the file causes additional problems because
  it expects all places in the file get read exactly once and in sequential order.
  I solved this by separately opening the file in the python part of the code and
  checking for the magic.
  BORG_IDX means the legacy file format and legacy layout of the hashtable,
  BORG2IDX means the new file format and the new layout of the hashtable.

Done:
- added a version int32 directly after the magic and set it to 2 (like borg 2).
  the old header had no version info, but could be denoted as version 1 in case
  we ever need it (currently it decides based on the magic).
- added num_empty as indicated by a TODO in count_empty, so it does not need a
  full hashtable scan to determine the amount of empty buckets.
- to keep it simpler, I just filled the HashHeader struct with a
  `char reserved[1024 - 32];`
  1024 being the desired overall header size and 32 being the currently used size.
  this alignment might be useful in case we mmap() the hashindex file one day.
2022-10-02 14:35:21 +02:00
TW
5edc53d4d4
Merge pull request #7066 from ThomasWaldmann/fix-recreate-fixed-chunker-master
get_chunker: fix missing sparse=False argument, fixes #7056
2022-10-02 14:34:18 +02:00
Thomas Waldmann
c339be7df9 get_chunker: fix missing sparse=False argument, fixes #7056 2022-10-02 14:09:19 +02:00
Thomas Waldmann
e32d733612 add test for recreate with "fixed" chunker 2022-10-02 14:02:06 +02:00
TW
b5e88129b4
Merge pull request #7065 from ThomasWaldmann/vagrant-updates
Vagrant updates
2022-10-02 03:19:15 +02:00
Thomas Waldmann
8221afe965 use absolute import to make pyinstaller binaries work again 2022-10-02 01:33:57 +02:00
Thomas Waldmann
fa83fa1c23 vagrant: upgrade pyinstaller 4.10 -> 5.4.1 2022-10-02 01:32:13 +02:00
Thomas Waldmann
420ca41961 vagrant: add python 3.11.0rc2 2022-10-01 23:13:05 +02:00
Thomas Waldmann
6034d90996 vagrant: use python 3.9.14 for binary build 2022-10-01 23:06:38 +02:00
Thomas Waldmann
ef2188b7ca increase VMCPUS and xdistn to 16 2022-10-01 23:01:27 +02:00
TW
4e87c1b6be
Merge pull request #7063 from ThomasWaldmann/item-more-cython-rebased
item.pyx: re-doing PR #5763
2022-09-29 21:14:19 +02:00
Thomas Waldmann
215ccaebea cosmetic: spaces, typos 2022-09-29 20:40:07 +02:00
Thomas Waldmann
fd5019a7b2 cpdef variables -> cdef
warning: src/borg/item.pyx:199:10: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables

  warning: src/borg/item.pyx:200:10: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables

  warning: src/borg/item.pyx:202:10: cpdef variables will not be supported in Cython 3; currently they are no different from cdef variables
2022-09-29 20:40:07 +02:00
Thomas Waldmann
ce2dd6df24 item.pyx: use more cython and turn PropDict properties to a descriptor
this turns all python level classes into extension type classes.

additionally it turns the indirect properties into direct descriptors.

test_propdict_attributes runs about 30% faster.

base memory usage as reported by sys.getsizeof(Item()):
before: 48 bytes, after this PR: 40 bytes

Author: @RonnyPfannschmidt in PR #5763
2022-09-29 20:39:06 +02:00
Thomas Waldmann
7b3cdb1aea add benchmark for item attribute / dict access
Author: @RonnyPfannschmidt in PR #5763
2022-09-29 00:47:48 +02:00
Thomas Waldmann
57ca9f6e74 faster implementation of item.chunks_contents_equal
This is about 10x faster than before, thanks to Ronny!

Author: @RonnyPfannschmidt in PR #5763
2022-09-28 18:57:40 +02:00
TW
1274b56ad4
Merge pull request #7061 from ThomasWaldmann/update-changes
update CHANGES
2022-09-28 16:01:17 +02:00
Thomas Waldmann
9315ecb89e update CHANGES 2022-09-28 15:20:15 +02:00
TW
f2fe22522d
Merge pull request #7052 from ThomasWaldmann/fix-upgrader-user-group-none
transfer: fix user/group == None crash with borg1 archives
2022-09-28 14:35:40 +02:00
TW
b8f86abaa3
Merge pull request #7059 from ThomasWaldmann/ci-py311-fuse3
CI: test pyfuse3 with python 3.11
2022-09-28 13:14:39 +02:00
Thomas Waldmann
c3e5ff613f CI: test pyfuse3 with python 3.11 2022-09-28 02:57:20 +02:00
TW
1a89db0a70
Merge pull request #7058 from ThomasWaldmann/fix-memoryview-crash
avoid memoryview related TypeError in compressors
2022-09-28 00:52:55 +02:00
Thomas Waldmann
515833c664 avoid memoryview related TypeError in compressors
fixes:

https://github.com/borgbackup/borg/discussions/7020#discussioncomment-3741024
2022-09-27 23:41:21 +02:00
TW
58c375678a
Merge pull request #7055 from ThomasWaldmann/borg-lock-wait-env-var
BORG_LOCK_WAIT=n env var to set default for --lock-wait option, fixes #5279
2022-09-27 19:41:14 +02:00
TW
ba7b9cfd30
Merge pull request #7037 from ThomasWaldmann/rcompress
rcompress: do a repo-wide (re)compression
2022-09-27 19:13:58 +02:00
Thomas Waldmann
e57ff29f22 BORG_LOCK_WAIT=n env var to set default for --lock-wait option, fixes #5279 2022-09-27 17:09:19 +02:00
Thomas Waldmann
9455c1e278 rcompress: do a repo-wide (re)compression
reads all chunks in on-disk order and recompresses them if they are not already using
the desired compression type and level (and obfuscation level).

supports SIGINT/ctrl-c and --checkpoint-interval (default: 1800s).

this is a borg command that compacts when committing (without this, it would have
a huge space usage). it commits/compacts every checkpoint interval or when
pressing ctrl-c / receiving SIGINT.
2022-09-27 16:50:19 +02:00