556 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
071982ba0f Improved error message when using an empty filesystem file 2021-03-30 17:45:36 +02:00
Marcus Holland-Moritz
4072fc424f Update folly/fbthrift 2021-03-30 13:15:22 +02:00
Marcus Holland-Moritz
ad69be77cf Add some simple filesystem extractor tests 2021-03-28 23:38:56 +02:00
Marcus Holland-Moritz
938a5dd1ce Add streaming interface for filesystem extractor 2021-03-28 23:38:38 +02:00
Marcus Holland-Moritz
9ddd2a5d71 Catch errors during filesystem rewrite 2021-03-28 23:06:48 +02:00
Marcus Holland-Moritz
3cf157421d Check against overflow due to corrupted length field 2021-03-28 23:06:27 +02:00
Marcus Holland-Moritz
dff559bc3f Fix segfault with corrupted filesystem 2021-03-28 16:56:00 +02:00
Marcus Holland-Moritz
7f62fe2e4b Catch errors during filesystem extraction 2021-03-28 16:46:26 +02:00
Marcus Holland-Moritz
95d4b4f049 More filesystem header options (github #38)
Add `--header` and `--remove-header` to `mkdwarfs`, add
`--print-header` to `dwarfsck`.

Also more testing of rewriting in the presence of headers.
2021-03-28 15:29:43 +02:00
Marcus Holland-Moritz
53416df766 Add tests for automatic image offset computation 2021-03-28 10:26:01 +02:00
Marcus Holland-Moritz
0a992d41c2 Fix image offset calculation with early matches 2021-03-28 10:25:30 +02:00
Marcus Holland-Moritz
aa92e69d10 Allow specifying a filesystem image offset (fixes github #38)
Works for dwarfs, dwarfsck and dwarfsextract
2021-03-28 00:28:55 +01:00
Marcus Holland-Moritz
b4a8e0134b Update documentation 2021-03-28 00:23:00 +01:00
Marcus Holland-Moritz
b7ec25b887 Fix dependencies 2021-03-25 14:41:26 +01:00
Marcus Holland-Moritz
eadd7c1abe Add dependency 2021-03-25 14:11:24 +01:00
Marcus Holland-Moritz
257cadb071 More readv benchmarks 2021-03-25 13:59:08 +01:00
Marcus Holland-Moritz
f30ca742be Format CMakeLists.txt 2021-03-25 13:45:13 +01:00
Marcus Holland-Moritz
d97df34b11 Add filesystem benchmark 2021-03-25 13:44:50 +01:00
Marcus Holland-Moritz
5c698e7433 Set default for readv offset argument 2021-03-25 13:40:40 +01:00
Marcus Holland-Moritz
32f7ea9961 Make string table more flexible to pack 2021-03-25 11:29:49 +01:00
Marcus Holland-Moritz
ef3e51037b Fix bloom filter for small sizes 2021-03-25 01:21:42 +01:00
Marcus Holland-Moritz
f87aa4a8cf Factor out test helpers 2021-03-25 00:45:38 +01:00
Marcus Holland-Moritz
50d42005e3 Truncate metadata export output file 2021-03-25 00:38:51 +01:00
Marcus Holland-Moritz
e67d3df41a Unpack fields for metadata export 2021-03-25 00:38:39 +01:00
Marcus Holland-Moritz
423c7ea3e8 Reuse zstd contexts (appears to give some speedup) 2021-03-23 17:44:49 +01:00
Marcus Holland-Moritz
a2b373165f Update man page 2021-03-23 14:45:00 +01:00
Marcus Holland-Moritz
77184fd5a9 Add --pack-metadata=mmap 2021-03-23 14:41:53 +01:00
Marcus Holland-Moritz
58b23cebe8 Add warning on low memory limit 2021-03-23 14:17:48 +01:00
Marcus Holland-Moritz
c19c426968 Remove --max-scanner-workers 2021-03-23 14:08:32 +01:00
Marcus Holland-Moritz
5bfabef613 Update static linking 2021-03-23 14:02:35 +01:00
Marcus Holland-Moritz
4cd67bb38c Update fbthrift to master (for now) 2021-03-23 13:54:06 +01:00
Marcus Holland-Moritz
bd2e66fdea Move sorting & add a comment 2021-03-23 13:49:27 +01:00
Marcus Holland-Moritz
df5de1f486 Update format docs 2021-03-23 12:46:31 +01:00
Marcus Holland-Moritz
88d684379e Improve dwarfsck output 2021-03-23 12:07:20 +01:00
Marcus Holland-Moritz
f3c0f96059 Start scanning right after discovering file inodes
This is safe because filtering happens yet before that and stuff
like inode assignment happens afterwards.
2021-03-23 11:42:27 +01:00
Marcus Holland-Moritz
d41a0f5e1b More logging 2021-03-22 23:33:36 +01:00
Marcus Holland-Moritz
33e388f966 Improve detail levels, add more debug info 2021-03-22 17:57:06 +01:00
Marcus Holland-Moritz
e973ce0b49 Formatting 2021-03-22 17:56:43 +01:00
Marcus Holland-Moritz
8492a989bf Remove arch=skylake multiversioning (also fixes gh #37) 2021-03-22 17:56:24 +01:00
Marcus Holland-Moritz
5c20498f62 Make integrity check optional to speed up dwarfsck 2021-03-22 17:55:28 +01:00
Marcus Holland-Moritz
9f0e9340dd Fix missing space 2021-03-22 17:54:53 +01:00
Marcus Holland-Moritz
a22aa99729 Small refactor to avoid excessive vector allocation 2021-03-22 10:21:07 +01:00
Marcus Holland-Moritz
6c24e55897 Add dump for nilsimsa data 2021-03-21 23:06:28 +01:00
Marcus Holland-Moritz
953869e913 Fix inode count in progress output 2021-03-21 17:16:30 +01:00
Marcus Holland-Moritz
609e5ac3a7 Use regular worker group (non-load-apaptive) for scanning
Also rename `writer` thread pool to `compress`.
2021-03-21 16:08:09 +01:00
Marcus Holland-Moritz
29acde87b5 Optimize scanning
This parallelizes scanning so that files only have to be touched
twice (scanning + segmenting) instead of three times (scanning,
scanning again, segmenting).
2021-03-21 16:07:01 +01:00
Marcus Holland-Moritz
592c7376ce Window step size defaults depending on compression level 2021-03-21 16:07:01 +01:00
Marcus Holland-Moritz
c322650738 Add --plain-string-tables 2021-03-21 16:07:01 +01:00
Marcus Holland-Moritz
9e1b111b43 Don't output randomly from worker group 2021-03-21 16:07:01 +01:00
Marcus Holland-Moritz
df2c653d8a New compact string table representation 2021-03-21 16:06:37 +01:00