234 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
b4f559213f Refactor segmenting 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
1970da345e More stats and better collision handling in block manager, part 1 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
f153329b96 Optimize block hash updating 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
d76cfc4086 Replace cyclic hash with rsync hash
The rsync hash isn't significantly better in terms of collisions,
but it's a little bit faster to compute (and doesn't require the
random bit array).
2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
7a2213a04d Minor tweaks 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
96afa05b77 Update benchmarks 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
c234dcc0ca Update dependencies in README 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
90f08dad79 Handle output file errors correctly 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
15e9972f8b Add missing include directory 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
d343660f75 Wording 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a0ecc472f6 Reverse order, as we're scanning from the end 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a3d06dc469 Refactor nilsimsa ordering 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
d179fe175d Clang-format 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a2377ead41 Update mkdwarfs options with level-dependent ordering 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
2efc231393 Remove old nilsimsa code 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
9f734adc3a Optimize nilsimsa2 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
316d447fe1 Pre-sorting 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
14aed67ade Add nilsimsa2 order mode (will replace nilsimsa after more testing) 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
f8164c9e3a Add EROFS benchmarks to README 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
f3b40e6400 Install fatal signal handlers in mkdwarfs and dwarfs 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a0a97eeb1b boost::filesystem -> std::filesystem 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
046c9571da Linking cleanup 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
0d50906c14 Import ZSTD 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
04c43ec421 Add -o readonly option to FUSE driver 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
88dd18781b Nit 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
15b35091df Remove useless config.h file 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
eed25dac98 Update TODOs 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
728504a85f Add --with-devices and --with-specials options 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
ddd5e27e75 Update benchmarks in README 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
14063b50ca Add another missing newline 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
4f50fced88 Initialize uninitialized variable 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
c4a8fd7969 Detect hard links and optimize code to avoid duplicate scanning 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
01107e0d39 Add Cromfs comparison 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
37244274c4 Add --time-resolution option 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a629dad243 Fix missing newline in layout dump 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
9725b8fc61 Add --keep-all-times and default to only keeping mtime 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
8b83d98ec0 Add nilsimsa enumeration to Python interface 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
78ead545f5 Simplify size() call 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
4842ab05cf Catch py::error_already_set by const ref 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
7a75c29674 Remove __has_builtin check which doesn't work for gcc-9 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
e947f47b9a Update folly & fbthrift 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a7127b2e1d Increment FS minor version due to addition of devices/... 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
9a57ee980a Document how to add /etc/fstab entries 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
e59d1735bb Install FUSE driver to $prefix/sbin and add mount.dwarfs symlink 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
4eb17c6658 CMakeFile formatting 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
a0364e98be Add TOC 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
f3b76ad69b Update README with some nilsimsa data 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
5c56943a84 Document nilsimsa and script file order choices 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
e3bbeac5d6 Clean up inode manager 2020-12-13 13:16:25 +01:00
Marcus Holland-Moritz
63c9e9a3c3 Add support for nilsimsa-based inode ordering
Also refactor inode manager to take full control of ordering.
Nilsimsa ordering is really slow, but has the advantage that
inodes are added continuously while ordering. This allows us
to perform the bulk of the ordering in the background while
already running segmenting/compression.
2020-12-13 13:16:25 +01:00