2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-22 10:58:55 +00:00
restic/internal
greatroar 189e0fe5a9 fuse: Better inode generation
Hard links to the same file now get the same inode within the FUSE
mount. Also, inode generation is faster and, more importantly, no longer
allocates.

Benchmarked on Linux/amd64. Old means the benchmark with

        sink = fs.GenerateDynamicInode(1, sub.node.Name)

instead of calling inodeFromNode. Results:

name                   old time/op    new time/op    delta
Inode/no_hard_links-8     137ns ± 4%      34ns ± 1%   -75.20%  (p=0.000 n=10+10)
Inode/hard_link-8        33.6ns ± 1%     9.5ns ± 0%   -71.82%  (p=0.000 n=9+8)

name                   old alloc/op   new alloc/op   delta
Inode/no_hard_links-8     48.0B ± 0%      0.0B       -100.00%  (p=0.000 n=10+10)
Inode/hard_link-8         0.00B          0.00B           ~     (all equal)

name                   old allocs/op  new allocs/op  delta
Inode/no_hard_links-8      1.00 ± 0%      0.00       -100.00%  (p=0.000 n=10+10)
Inode/hard_link-8          0.00           0.00           ~     (all equal)
2022-11-16 08:35:01 +01:00
..
archiver backup: hide files from status which are read completely but not saved 2022-10-30 10:29:12 +01:00
backend backend: Split RetryBackend into own package 2022-10-21 21:38:17 +02:00
bloblru bloblru: Fix comment for New function 2022-03-28 22:25:25 +02:00
cache cache: Call interface method once 2022-10-21 14:32:46 +02:00
checker restic: Change FindSnapshot functions to return the snapshot 2022-10-15 13:34:04 +02:00
crypto crypto: move crypto buffer helpers 2022-07-17 13:42:23 +02:00
debug debug: support roundtripper logging also for release builds 2022-08-05 23:49:39 +02:00
dump repository: extract LoadTree/SaveTree 2022-07-17 13:11:28 +02:00
errors errors: Drop WithMessage 2022-10-14 14:06:47 +02:00
filter filter: deduplicate error handling for pattern validation 2022-09-09 23:12:41 +02:00
fs Add simple test for fs.TempFile on windows 2022-04-09 23:37:58 +02:00
fuse fuse: Better inode generation 2022-11-16 08:35:01 +01:00
hashing hashing: Fix up comments 2022-05-11 21:36:10 +02:00
index index: Compact data structure for Index.EachByPack 2022-10-29 23:09:17 +02:00
migrations backend: split layout code into own subpackage 2022-10-21 21:36:05 +02:00
options Don't crash if SecretString is uninitialized 2022-07-02 19:44:28 +02:00
pack repository: optimize MasterIndex.Each 2022-09-24 12:21:59 +02:00
repository repository: Fix benchmarkSaveAndEncrypt 2022-10-29 23:09:17 +02:00
restic ui/progress: Load both values in a single Lock/Unlock 2022-10-25 07:55:24 +02:00
restorer restic: Change FindSnapshot functions to return the snapshot 2022-10-15 13:34:04 +02:00
selfupdate all: Drop ctxhttp 2022-10-14 14:33:49 +02:00
test all: Move away from pkg/errors, easy cases 2022-06-14 08:36:38 +02:00
textfile Add more error handling 2021-01-30 20:19:47 +01:00
ui Merge pull request #3983 from greatroar/formatting 2022-10-31 18:52:24 +01:00
walker walker: Convert tests to use TreeJSONBuilder 2022-10-15 11:04:13 +02:00