2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-25 20:12:36 +00:00
restic/cmd/restic
Michael Eischer 120ccc8754 repository: Rework blob saving to use an async pack uploader
Previously, SaveAndEncrypt would assemble blobs into packs and either
return immediately if the pack is not yet full or upload the pack file
otherwise. The upload will block the current goroutine until it
finishes.

Now, the upload is done using separate goroutines. This requires changes
to the error handling. As uploads are no longer tied to a SaveAndEncrypt
call, failed uploads are signaled using an errgroup.

To count the uploaded amount of data, the pack header overhead is no
longer returned by `packer.Finalize` but rather by
`packer.HeaderOverhead`. This helper method is necessary to continue
returning the pack header overhead directly to the responsible call to
`repository.SaveBlob`. Without the method this would not be possible,
as packs are finalized asynchronously.
2022-07-02 22:42:34 +02:00
..
testdata copy: test that trees with unstable json encoding are properly copied 2021-03-08 22:16:48 +01:00
.gitignore Moves files 2017-07-23 14:19:13 +02:00
cleanup.go cmd/restic: Streamline progress printing 2021-09-03 11:48:22 +02:00
cmd_backup_test.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_backup.go Merge pull request #3785 from MichaelEischer/replace-tomb-usage 2022-06-19 14:42:48 +02:00
cmd_cache.go restic cache should display the name of the cache without shortening it in the case of the restic check 2021-11-06 20:18:51 +01:00
cmd_cat.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_check_test.go [#issue 3490] Support for specifying file size in read-data-subset 2021-11-02 15:25:46 +05:30
cmd_check.go check: Better differentiate between warnings and errors 2022-05-09 22:31:30 +02:00
cmd_copy.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_debug.go Return real size from SaveBlob 2022-07-02 18:55:12 +02:00
cmd_diff.go diff: list snapshots only once 2022-04-09 12:26:31 +02:00
cmd_dump_test.go dump: Add test for splitPath 2020-08-30 16:00:48 +02:00
cmd_dump.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_find.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_forget.go doc: Clarify and make grouping in forget more noticeable 2022-04-16 01:13:13 +02:00
cmd_generate.go bump cobra and add completions for fish 2021-05-21 13:47:52 +10:00
cmd_init.go Add option global --compression 2022-04-30 11:34:10 +02:00
cmd_key.go key: Check that a new key file actually works 2021-06-12 23:09:19 +02:00
cmd_list.go list: Never lock the repository when listing lock files 2022-03-06 21:44:51 +01:00
cmd_ls_test.go Add file mode in symbolic notation to ls --json 2021-11-16 19:45:50 +02:00
cmd_ls.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_migrate.go migrate: Cleanup option to request repository check 2022-06-04 23:45:00 +02:00
cmd_mount.go all: Move away from pkg/errors, easy cases 2022-06-14 08:36:38 +02:00
cmd_options.go Some options fixes 2020-12-23 23:26:04 +03:00
cmd_prune.go repository: add Save method to MasterIndex interface 2022-07-02 18:38:56 +02:00
cmd_rebuild_index.go Revert "restic prune: Merge three loops over the index" 2022-06-30 15:27:34 +02:00
cmd_recover.go repository: Rework blob saving to use an async pack uploader 2022-07-02 22:42:34 +02:00
cmd_restore.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_self_update.go Change: selfupdate: 'writing restic to' as verbose 2021-10-09 23:24:18 +03:00
cmd_snapshots_test.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_snapshots.go doc: Clarify and make grouping in forget more noticeable 2022-04-16 01:13:13 +02:00
cmd_stats.go stats: return storage size for raw-data mode 2022-07-02 18:55:12 +02:00
cmd_tag.go tag: Remove unnecessary flush call 2022-07-02 22:42:23 +02:00
cmd_unlock.go Add documentation on exit status codes to man pages 2020-02-12 23:09:26 +01:00
cmd_version.go Add documentation on exit status codes to man pages 2020-02-12 23:09:26 +01:00
delete.go backup: cleanly shutdown goroutines on error 2021-05-23 13:02:44 +02:00
doc.go Moves files 2017-07-23 14:19:13 +02:00
exclude_test.go Add tests 2020-11-28 17:00:31 +01:00
exclude.go Add more error checks 2021-01-30 20:02:37 +01:00
find.go Fix O(n) backend list calls in FindFilteredSnapshots 2022-04-09 12:26:31 +02:00
flags_test.go Moves files 2017-07-23 14:19:13 +02:00
format.go Dead code removal 2020-08-04 08:38:57 +02:00
global_debug.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
global_release.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
global_test.go Fix issues reported by staticcheck 2021-01-30 20:43:53 +01:00
global.go Merge pull request #3805 from greatroar/global 2022-07-02 21:56:35 +02:00
integration_filter_pattern_test.go Add tests for validating exclude patterns 2022-05-11 22:41:00 +02:00
integration_fuse_test.go Check in integration test that snapshots are listed before the index 2022-04-09 12:27:27 +02:00
integration_helpers_test.go Check in integration test that snapshots are listed before the index 2022-04-09 12:27:27 +02:00
integration_helpers_unix_test.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
integration_helpers_windows_test.go add go:build headers everywhere 2022-03-28 22:23:47 +02:00
integration_test.go fix flaky key test 2022-06-12 14:19:06 +02:00
local_layout_test.go Support specifying multiple host flags for various commands 2020-02-26 22:17:59 +01:00
lock.go Ensure that the lock cleanup handler is run after the global one 2022-02-12 20:21:58 +01:00
main.go all: Move away from pkg/errors, easy cases 2022-06-14 08:36:38 +02:00
progress.go cmd/restic: Remove trailing "..." from progress messages 2022-05-31 19:06:26 +02:00
secondary_repo_test.go Cleanup comments in secondary repo test 2021-03-08 22:41:13 +01:00
secondary_repo.go Add repositoryFile2 option 2021-03-08 22:41:13 +01:00