Commit Graph

57 Commits

Author SHA1 Message Date
Julian Picht 091c48bc37
docs: Clarify on-disk order and size of log entry fields (#6357)
docs: clarify on-disk order and size of log entry fields

The order of the fields of a log entry on disk is CRC32 first, the docs had the size first.

I tried to make this list similar to the HashIndex struct description.
2022-02-25 12:53:58 +01:00
Thomas Waldmann 94e93ba7e6 formula is only approximately correct
the movement of the start of the hashing window stops at (file_size - window_size), thus THAT would be the factor in that formula, not just file_size.

for medium and big files, window_size is much smaller than file_size, so guess we can just say "approximately" for the general case.
2022-01-16 20:39:29 +01:00
enkore 79cb4e43e5
docs/data-structures: tie CDC back into dedup rationale 2021-11-27 18:45:19 +00:00
enkore 5b297849d3
docs/data-structures: add content-defined chunking explainer 2021-11-27 14:41:24 +00:00
Andrea Gelmini 72e7c46fa7 Fix typos 2021-01-07 17:54:33 +01:00
Thomas Waldmann b8bb0494f6 create --sparse, file map support for the "fixed" chunker, see #14
a file map can be:

- created internally inside chunkify by calling sparsemap, which uses
  SEEK_DATA / SEEK_HOLE to determine data and hole ranges inside a
  seekable sparse file.
  Usage: borg create --sparse --chunker-params=fixed,BLOCKSIZE ...
  BLOCKSIZE is the chunker blocksize here, not the filesystem blocksize!

- made by some other means and given to the chunkify function.
  this is not used yet, but in future this could be used to only read
  the changed parts and seek over the (known) unchanged parts of a file.

sparsemap: the generate range sizes are multiples of the fs block size.
           the tests assume 4kiB fs block size.
2020-12-27 22:06:08 +01:00
Guinness 61c92110e6 Change documentation inaccuracy on chunk size.
We know use only "target chunk size" when speaking of the chunk size
that is expected to happen most of the time. This removes statistical
and mathematical inacurracies that could be troublesome for mathematical
people.

Fixes #5336
2020-10-23 13:03:12 +02:00
Thomas Portmann dfc5e915cc
Fixed locking, issue #4923 (#4928)
locking: fix ExclusiveLock race condition bug, fixes #4923

- ExclusiveLock is now based on os.rename instead of os.mkdir.
- catch FileNotFoundError observed under race condition in ExclusiveLock.release()
  and .kill_stale_lock()
- added TestExclusiveLock.test_race_condition() which reveals issue #4923
- updated docs
- locking: use "raise LockTimeout from None" for prettier traceback

Co-authored-by: Thomas Portmann <thomas@portmann.org>
Co-authored-by: Thomas Waldmann <tw@waldmann-edv.de>
2020-07-03 10:09:32 +02: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
Thomas Waldmann 7f46eb99aa update docs about fixed chunker and chunker algo spec needed 2019-02-13 06:30:13 +01:00
Thomas Waldmann e6fcf4ea42 update docs about separated compaction 2018-07-14 14:53:23 +02:00
TW 4b98393542
Merge pull request #3520 from pngwjpgh/doc/chunk-seed
Chunk seed is generated per /repository/
2018-01-10 07:26:26 +01:00
Gregor Kleen 1820e22c02 Chunk seed is generated per /repository/ 2018-01-09 18:17:46 +01:00
Gianfranco Costamagna 0980d6ac43 fixup allows one to, with suggestions from Dan Christensen 2018-01-03 15:54:52 +01:00
Gianfranco Costamagna 111a19f7fa fix typo: allows to -> allows one to 2018-01-03 11:42:38 +01:00
Thomas Waldmann 2588e50f0b readme / docs: mention zstd 2017-12-18 22:55:00 +01:00
Tom Denley c6591a7c06 Correct usage of "fewer" in place of "less" 2017-11-11 11:21:45 +00:00
8bit 8d830d069f Removed all |project_name
| instances, replaced with Borg
2017-10-17 11:50:55 -05:00
Thomas Waldmann 5e2de8ba67 implement files cache mode control, fixes #911
You can now control the files cache mode using this option:

--files-cache={ctime,mtime,size,inode,rechunk,disabled}*

(only some combinations are supported)

Previously, only these modes were supported:
- mtime,size,inode (default of borg < 1.1.0rc4)
- mtime,size (by using --ignore-inode)
- disabled (by using --no-files-cache)

Now, you additionally get:
- ctime alternatively to mtime (more safe), e.g.:
  ctime,size,inode (this is the new default of borg >= 1.1.0rc4)
- rechunk (consider all files as changed, rechunk them)

Deprecated:
- --ignore-inodes (use modes without "inode")
- --no-files-cache (use "disabled" mode)

The tests needed some changes:
- previously, we use os.utime() to set a files mtime (atime) to specific
  values, but that does not work for ctime.
- now use time.sleep() to create the "latest file" that usually does
  not end up in the files cache (see FAQ)
2017-10-01 00:52:32 +02:00
Marian Beermann 10a7b6b727 docs/internals: note segment size limitation 2017-08-22 17:48:48 +02:00
Zhuoyun Wei f0de6a4c90
Doc: add warning about changing segments_per_dir values 2017-07-21 12:26:24 -04:00
Zhuoyun Wei 7d07a9629e
Doc: update default values in sample config file 2017-07-21 12:26:17 -04:00
Marian Beermann d495b0fe75 docs: move introduction sentence 2017-06-19 10:01:55 +02:00
Marian Beermann 6e17ca7c3a docs: fix typo 2017-06-19 09:50:22 +02:00
enkore de00d9d822 Merge pull request #2602 from enkore/pr/2134.docs
internals: rewrite manifest & feature flags
2017-06-11 12:29:12 +02:00
Marian Beermann bffcc60f90 docs: internals: feature flags typos, clarifications 2017-06-11 12:28:37 +02:00
Marian Beermann f5e7d964cf docs: internals: feature flags set theory 2017-06-05 22:29:29 +02:00
Marian Beermann e80c0f7c5e docs: fix way too small figures in pdf 2017-06-05 01:01:27 +02:00
Marian Beermann da04aba5c5 docs: internals: feature flags introduction/rationale 2017-06-05 00:41:30 +02:00
Marian Beermann c427d238f4 docs: internals: amend feature flags 2017-06-05 00:21:04 +02:00
Marian Beermann f2fd6fc699 docs: internals: cache feature flags 2017-06-05 00:16:48 +02:00
Marian Beermann 36bdc9d15e internals: rewrite manifest & feature flags 2017-06-05 00:16:48 +02:00
Marian Beermann 19b425a5c8 docs: internals: more HashIndex details 2017-06-04 23:00:42 +02:00
Marian Beermann cf77aa53d7 docs: internals: fix ASCII art equations 2017-06-04 22:50:17 +02:00
Marian Beermann d33929a24d docs: internals: edited HashIndex 2017-06-04 22:44:29 +02:00
Marian Beermann a3815034e1 docs: internals: terms/glossary TODO 2017-06-04 22:17:59 +02:00
Marian Beermann 9174f84682 docs: internals: delete non-sequitor from repo/segments 2017-06-04 22:17:56 +02:00
Marian Beermann 89d8f54afb docs: internals: edited obj graph related sections a bit 2017-06-04 22:17:53 +02:00
Marian Beermann 2b0e7bc924 docs: data structures: demingle cache and repo index 2017-06-04 22:17:48 +02:00
enkore d95551736d Merge pull request #2591 from enkore/issue/1101.design
docs: file integrity
2017-06-03 18:17:14 +02:00
Marian Beermann da99ec2fbd docs: quotas: refer to --restrict-to-repository 2017-06-03 15:07:08 +02:00
Marian Beermann b8e40fdce6 editing 2017-06-03 13:05:33 +02:00
Marian Beermann 45ee62e5ea docs: file integrity 2017-06-03 00:51:34 +02:00
Marian Beermann d51f2bbbae docs: quotas: local repo disclaimer
...
2017-06-02 14:50:51 +02:00
Marian Beermann 089224975b docs: quotas: clarify compatbility; only relevant to serve side
also cf. "Enforcing the quota":

  The quota is enforcible only if *all* :ref:`borg_serve` versions
  accessible to clients support quotas
2017-06-02 13:12:43 +02:00
Marian Beermann 4edf77788d Implement storage quotas 2017-05-31 18:36:03 +02:00
Marian Beermann f8c63f9a66 docs/data structures: add simple example compaction run 2017-05-22 13:19:18 +02:00
Marian Beermann 691c6adc04 docs/data structures: detail explanation of compaction 2017-05-22 12:34:52 +02:00
Marian Beermann 73123578ed docs/data structures: add chunk layout diagram 2017-05-21 16:40:10 +02:00
enkore 0021368163 Merge pull request #2447 from ThomasWaldmann/update-docs4
Update docs
2017-04-28 10:49:35 +02:00