1
0
Fork 0
mirror of https://github.com/restic/restic.git synced 2024-12-23 08:16: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
.gitignore
cleanup.go
cmd_backup.go Merge pull request #3785 from MichaelEischer/replace-tomb-usage 2022-06-19 14:42:48 +02:00
cmd_backup_test.go
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.go check: Better differentiate between warnings and errors 2022-05-09 22:31: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_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.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_dump_test.go
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
cmd_init.go Add option global --compression 2022-04-30 11:34:10 +02:00
cmd_key.go
cmd_list.go list: Never lock the repository when listing lock files 2022-03-06 21:44:51 +01:00
cmd_ls.go copy/find/ls/recover/stats: Memorize snapshot listing before index 2022-04-09 12:26:30 +02:00
cmd_ls_test.go Add file mode in symbolic notation to ls --json 2021-11-16 19:45:50 +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
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.go doc: Clarify and make grouping in forget more noticeable 2022-04-16 01:13:13 +02:00
cmd_snapshots_test.go
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
cmd_version.go
delete.go
doc.go
exclude.go
exclude_test.go
find.go Fix O(n) backend list calls in FindFilteredSnapshots 2022-04-09 12:26:31 +02:00
flags_test.go
format.go
global.go Merge pull request #3805 from greatroar/global 2022-07-02 21:56:35 +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
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
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.go
secondary_repo_test.go