Marcus Holland-Moritz
06f0d3ff07
Create filesystem_extractor class
2021-03-06 12:32:56 +01:00
Marcus Holland-Moritz
77a409f97a
Remove hash_util.h
2021-03-06 08:58:31 +01:00
Marcus Holland-Moritz
e31bb921c4
Fix data race in cached_block
2021-03-06 08:54:35 +01:00
Marcus Holland-Moritz
fa24c37770
Remove explicit template arguments for lock objects
2021-03-06 00:04:55 +01:00
Marcus Holland-Moritz
d6d87b24a2
Name the semaphore more appropriately
2021-03-06 00:04:01 +01:00
Marcus Holland-Moritz
2f18ba0e13
Update README
2021-03-05 23:54:39 +01:00
Marcus Holland-Moritz
fb38539c69
Some dwarfsextract tweaks
...
- Make sure we don't block if file size is larger than cache size
- Increase default cache size just a bit
- Tweak initial semaphore value to avoid early cache evictions
2021-03-05 23:54:29 +01:00
Marcus Holland-Moritz
30a3d2faad
Add timing for entry ordering in walk_inode_order
2021-03-05 23:52:10 +01:00
Marcus Holland-Moritz
c596629d05
Silence block cache debug output a bit
2021-03-05 23:51:11 +01:00
Marcus Holland-Moritz
5d704db42a
Update dwarfsextract man page
2021-03-05 23:00:39 +01:00
Marcus Holland-Moritz
24f6d3b638
Update README
2021-03-05 22:44:35 +01:00
Marcus Holland-Moritz
1c080920d0
Use asynchronous filesystem access to speed up extraction
2021-03-05 22:44:03 +01:00
Marcus Holland-Moritz
12b949525d
Add asynchronous readv
method for filesystem_v2
2021-03-05 22:42:45 +01:00
Marcus Holland-Moritz
5c13287c1a
Update README
2021-03-05 15:51:18 +01:00
Marcus Holland-Moritz
28f10ece29
Update README
2021-03-05 12:52:52 +01:00
Marcus Holland-Moritz
3b602dec21
Fix pop from empty queue
2021-03-05 12:44:01 +01:00
Marcus Holland-Moritz
1d6fb29015
Update docs
2021-03-05 12:38:42 +01:00
Marcus Holland-Moritz
af9c4ddf78
Rename options
2021-03-05 12:38:30 +01:00
Marcus Holland-Moritz
1b716b5c5a
Handle window size & lookback correctly
2021-03-05 12:38:17 +01:00
Marcus Holland-Moritz
c690abfa09
New screenshot
2021-03-05 11:00:48 +01:00
Marcus Holland-Moritz
a76c0859c0
Update zstd to v1.4.9
2021-03-05 08:59:15 +01:00
Marcus Holland-Moritz
a5937458da
Cleanup metadata implementation
2021-03-05 02:31:05 +01:00
Marcus Holland-Moritz
4442d2b75a
Update README
2021-03-05 02:15:06 +01:00
Marcus Holland-Moritz
85948323d9
Use walk_inode_order
in dwarfsextract
2021-03-05 02:09:19 +01:00
Marcus Holland-Moritz
00ccfee5d5
Add walk_inode_order
method
2021-03-05 02:08:57 +01:00
Marcus Holland-Moritz
e347320d0e
Update README
2021-03-05 00:57:00 +01:00
Marcus Holland-Moritz
ea6369cf8b
Visit entries in inode order during extraction
2021-03-05 00:39:22 +01:00
Marcus Holland-Moritz
ad901ee092
clang-format
2021-03-05 00:27:58 +01:00
Marcus Holland-Moritz
635f6840e7
Update README
2021-03-04 23:26:27 +01:00
Marcus Holland-Moritz
1535ffc85a
Tweak conditionals
2021-03-04 01:06:36 +01:00
Marcus Holland-Moritz
184b069351
Integrate parallel-hashmap and use in block manager
...
Yet another small speedup.
2021-03-04 01:06:18 +01:00
Marcus Holland-Moritz
86bc78dbc2
Cleanup options
2021-03-03 23:32:44 +01:00
Marcus Holland-Moritz
340fb1cb8e
Use F14ValueSet instead of std::unordered_set
...
This appears to ever so slightly speed up `walk`.
2021-03-03 17:36:25 +01:00
Marcus Holland-Moritz
4d0972fb22
Remove unused header
2021-03-03 15:46:19 +01:00
Marcus Holland-Moritz
2306300f4c
Replace more instances of unordered_map with F14FastMap
...
This gives a 10% speedup for deduplication in mkdwarfs and
a 5% speedup for random parallel access in the fuse driver.
2021-03-03 15:45:27 +01:00
Marcus Holland-Moritz
fcf6678833
Remove inode_hasher
2021-03-03 15:21:03 +01:00
Marcus Holland-Moritz
feb3bcdec7
Workaround for missing xxhash pkgconfig version (github #34 )
2021-03-03 15:05:21 +01:00
Marcus Holland-Moritz
07bbe7eee4
cmake-format
2021-03-03 14:36:21 +01:00
Marcus Holland-Moritz
0bcea59360
Add PREFER_SYSTEM_{ZSTD,XXHASH} cmake options (fixes github #34 )
2021-03-03 14:36:14 +01:00
Marcus Holland-Moritz
77fba70f55
Add WITH_LEGACY_FUSE cmake option (fixes github #32 )
2021-03-03 14:13:47 +01:00
Marcus Holland-Moritz
e849fa158b
Replace dense_hash_map with F14 maps
2021-03-03 13:17:05 +01:00
Marcus Holland-Moritz
41c76963b1
Add missing header
2021-03-03 12:42:17 +01:00
Marcus Holland-Moritz
09d0ff50bd
Replace block manager implementation
2021-03-03 12:41:19 +01:00
Marcus Holland-Moritz
0da750c143
Block manager cleanup & statistics
2021-03-03 12:38:29 +01:00
Marcus Holland-Moritz
425c9d68e9
Cleanup command line options, add --max-lookback-blocks
2021-03-03 01:51:40 +01:00
Marcus Holland-Moritz
0b0d5f4bd8
Modularize similarity hash computation
...
This also releases mapped memory segments that we're done using.
2021-03-03 00:42:34 +01:00
Marcus Holland-Moritz
d29faef726
New block manager implementation
2021-03-02 23:21:53 +01:00
Marcus Holland-Moritz
17d7b8d96c
Introduce block_data
2021-03-01 18:08:02 +01:00
Marcus Holland-Moritz
cbca2f4d0c
Remove stale code
2021-03-01 17:28:53 +01:00
Marcus Holland-Moritz
0cc6bc8dc3
Fix wording
2021-03-01 00:13:31 +01:00