restic/cmd/restic
Michael Eischer fe43f53528 mount: enable fuse readahead
Apparently readahead was disabled by default. Enable readahead with the
Linux default size of 128kB. Larger values seem to have no effect.
This can speed up reading from the fuse mount by at least factor 5.

Speedup for a 1G random file stored in a local repository:
(Only one result shown, but times were quite stable, restarted restic
after each command)
$ dd if=/dev/urandom bs=1M count=1024 of=rand
$ shasum -a 256 tmp/rand
75dd9b374e712577d64672a05b8ceee40dfc45dce6321082d2c2fd51d60c6c2d  tmp/rand

before: $ time shasum -a 256 fuse/snapshots/latest/tmp/rand
75dd9b374e712577d64672a05b8ceee40dfc45dce6321082d2c2fd51d60c6c2d  fuse/snapshots/latest/tmp/rand

real    0m18.294s
user    0m4.522s
sys     0m3.305s

before: $ time cat fuse/snapshots/latest/tmp/rand > /dev/null
real    0m14.924s
user    0m0.000s
sys     0m4.625s

after:  $ time shasum -a 256 fuse/snapshots/latest/tmp/rand
75dd9b374e712577d64672a05b8ceee40dfc45dce6321082d2c2fd51d60c6c2d  fuse/snapshots/latest/tmp/rand

real    0m6.106s
user    0m3.115s
sys     0m0.182s

after:  $ time cat fuse/snapshots/latest/tmp/rand > /dev/null
real    0m3.096s
user    0m0.017s
sys     0m0.241s
2021-06-12 17:07:30 +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 Replace fmt.Printf/Println/Fprintf with wrapper functions 2020-06-14 11:08:11 +02:00
cmd_backup.go backup: Improve wording for --one-file-system description 2021-05-15 00:06:27 +02:00
cmd_backup_test.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_cache.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_cat.go cat: only load index if really necessary 2021-05-23 13:11:55 +02:00
cmd_check.go check: Fix crash of --read-data-subset=x% on empty repository 2021-02-27 16:05:36 +01:00
cmd_check_test.go check: Fix crash of --read-data-subset=x% on empty repository 2021-02-27 16:05:36 +01:00
cmd_copy.go copy: copy raw bytes of tree blobs 2021-03-08 22:16:48 +01:00
cmd_debug.go debug: fix usage for examine command 2021-03-10 22:22:33 +01:00
cmd_diff.go diff: Correctly count top-level blobs 2020-11-13 21:11:21 +01:00
cmd_dump.go dump: Add new option --archive 2020-12-19 01:09:47 +03:00
cmd_dump_test.go dump: Add test for splitPath 2020-08-30 16:00:48 +02:00
cmd_find.go find: use Str() to format short ids 2021-05-17 20:56:49 +02:00
cmd_forget.go errcheck: Add more error checks 2021-01-30 20:02:37 +01:00
cmd_generate.go bump cobra and add completions for fish 2021-05-21 13:47:52 +10:00
cmd_init.go Treat an empty password as a fatal error for repository init. 2021-02-28 00:40:00 +01:00
cmd_key.go Pass context to lockRepo 2020-10-09 22:39:06 +02:00
cmd_list.go debug/list: parallelize index loading 2020-12-22 22:36:18 +01:00
cmd_ls.go restic ls --json: print "size":0 for empty files 2021-05-21 21:06:00 +02:00
cmd_ls_test.go restic ls --json: print "size":0 for empty files 2021-05-21 21:06:00 +02:00
cmd_migrate.go Pass context to lockRepo 2020-10-09 22:39:06 +02:00
cmd_mount.go mount: enable fuse readahead 2021-06-12 17:07:30 +02:00
cmd_options.go Some `options` fixes 2020-12-23 23:26:04 +03:00
cmd_prune.go prune: Improve error message for missing files 2021-01-31 11:31:27 +01:00
cmd_rebuild_index.go rebuild-index: add missing bar.Done() 2021-01-31 18:28:02 +01:00
cmd_recover.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_restore.go Fix #3166 2021-01-31 14:22:57 +01:00
cmd_self_update.go Don't require `self-update --output` placeholder file 2020-10-03 07:02:23 +02:00
cmd_snapshots.go cmd/snapshots: Add option to limit snapshots list 2021-05-13 20:18:23 +02:00
cmd_snapshots_test.go Add more error checks 2021-01-30 20:02:37 +01:00
cmd_stats.go restic: let FindUsedBlobs handle multiple snapshots at once 2021-01-28 11:08:43 +01:00
cmd_tag.go fix(cmd_tag): Use restic.TagLists 2020-12-29 17:12:46 +01: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 Add more error checks 2021-01-30 20:02:37 +01:00
doc.go Moves files 2017-07-23 14:19:13 +02:00
exclude.go Add more error checks 2021-01-30 20:02:37 +01:00
exclude_test.go Add tests 2020-11-28 17:00:31 +01:00
find.go pass context to Find / FindSnapshot 2020-10-09 22:37:56 +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.go Unify interactive terminal detection code 2021-04-11 20:02:09 +02:00
global_debug.go Add profile build flag 2018-04-30 14:19:04 +02:00
global_release.go Add profile build flag 2018-04-30 14:19:04 +02:00
global_test.go Fix issues reported by staticcheck 2021-01-30 20:43:53 +01:00
integration_fuse_test.go Portability fixes to internal/restic 2020-12-29 01:35:01 +01:00
integration_helpers_test.go Remove a few unused variables 2020-09-05 10:06:23 +02:00
integration_helpers_unix_test.go integration tests: Redirect directory diff into intermediate buffer 2020-08-29 10:48:44 +02:00
integration_helpers_windows_test.go Remove some unused assignments 2020-10-06 14:55:13 +02:00
integration_test.go copy: test that trees with unstable json encoding are properly copied 2021-03-08 22:16:48 +01:00
local_layout_test.go Support specifying multiple host flags for various commands 2020-02-26 22:17:59 +01:00
lock.go Warn when unlock fails instead of returning an error 2020-12-29 17:48:20 +01:00
main.go Properly check that --quiet and --verbose are not combined 2020-12-30 21:24:18 +01:00
progress.go Unify interactive terminal detection code 2021-04-11 20:02:09 +02:00
secondary_repo.go Add repositoryFile2 option 2021-03-08 22:41:13 +01:00
secondary_repo_test.go Cleanup comments in secondary repo test 2021-03-08 22:41:13 +01:00