1566 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
88425dd38f docs(metadata): rationale for using feature strings 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
eff100c202 chore: update TODO 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
63533a0a5b feat(mkdwarfs): add --history-compression option 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
db2bd1f69a docs(mkdwarfs): update section on producing bit-identical images 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
2bf6699241 docs(mkdwarfs): add new history related options 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
e9279590a0 test(nilsimsa): ensure that nilsimsa order is reproducible 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f35f4c7bd7 fix: add missing case to file_order_mode ostream operator 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f5e97a3212 test: support adding files with random contents 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
46bd4dd11d chore(docker): fix running git in docker /workspace directory 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
07412cb7c0 feat(fuse-driver): implement dwarfs.inodeinfo xattr 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
c2840cbe79 feat(filesystem): initial support for file system history 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
b508f4a7b9 chore(metadata): add uint8 typedef for completeness 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
8dae679ad4 feat(forward-compat): allow unknown section/compression types (gh #158) 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
95eac672f8 feat(metadata): add block category information 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
6aba533688 chore: update TODOs 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
1b0d34accc feat(logging): enable logging context at verbose level 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
912bd25a4a feat(logging): more colours to distinguish log levels 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
92d6691b74 fix(block_merger): correctly compute queueable size
Don't assume that the block size doesn't change during a block's
lifetime. Blocks can be compressed in the background and shrink in
size. So instead of subtracting the block size from a queueable_size_
member and later adding a (potentially smaller) size back, we always
compute the queueable size from the queued size (by traversing all
queues), the releaseable size, and the maximum queueable size.
2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
071da719cb feat(filesystem_writer): use fsblock policy for block merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
c2ceeee9bd docs(block_merger): add TODO about holder lifetime 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
6ca388fa6b feat(block_merger): support block policies and partial release 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
a284aecc35 fix: update header size for Wave 64 format 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
cebfea15c1 chore: another attempt at fixing rebuilds 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
32da9c7577 chore: include run number/attempt when storing artifacts 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
8cf0642c3a chore: pass some more action variable to CMakeLists.txt 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
fbad13553d feat: allow setting worker group cpu affinity 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
85bc819fa7 refactor: add debug logging in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
4ad155e19f refactor: ostream/format support for fragment_category 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
d938191248 feat: integrate block merger for deterministic file system writing 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
cfb894e192 refactor: keep code for dumping file systems in case of errors 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
80b11347e1 fix: output threshold comparison in test logger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
956294b6b9 refactor: check source validity in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
69ffdf3e28 refactor: make merged_block_holder more flexible 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
181427c6ab refactor: expose block_holder_type in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
25d5390704 refactor: add safety checks to block manager 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
36cbd83ba4 refactor: replace block_merger is_last with separate call 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
442e7b8fd5 refactor: use callback for delayed updating of physical block numbers 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
a37c2716c8 feat: make number of segmenter worker threads configurable 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
18cd20ea03 fix: use correct worker pool, otherwise we can stall 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5579b35a52 refactor: use holders to simplify releasing merged blocks 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
65a954b681 refactor: naming in multi_queue_block_merger 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
20e4a83b92 feat: add multi queue block merger + unit tests 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f2249f3b6c doc: update TODOs 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
d59ff62ad7 build: add example for setting per-file compile options 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
fb8c01cf18 Clean up console writer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
f8e7f66b6a Output metadata size in verbose mode 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
bff7e1b4b0 Support validation function in integral_value_parser 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
5046930d17 Use unsigned bytes in cyclic hash 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
3dd82bc085 Use zstd instead of lz4 for incompressible categorizer 2023-12-17 23:02:28 +01:00
Marcus Holland-Moritz
b101694d06 Fix segmenter for the case when segmenting is disable 2023-12-17 23:02:28 +01:00