Vitaliy Filippov
|
57d2f30303
|
Add a test with fsync
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
615e9d1274
|
Fix some blockstore bugs discovered by the mocked test!
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bcde273ca1
|
Test calc_checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
d4c465f786
|
Fix intent writes with padded checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
db14037ac8
|
Fix collapsing intent-over-intent checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
64db505357
|
Allow 1 intent_write over big_write in fsync mode
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
f3048d0858
|
Allow multiple writes with the same version
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
714b0783bf
|
Add tests for intent writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
9063bcaa41
|
More tests for incorrect data cases
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
16dee7c136
|
Use ui32 for block sizes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
adddf9b3b1
|
Remove extra unneeded read_entry-s
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
49407afa17
|
Remove FIXMEs
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
3a96d41c93
|
Fsync & update metadata when block checksums are enabled
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
2e4d5ae5bb
|
Return new_lsn from erase and rollback
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
db458fc999
|
Allow to cancel compaction for unfinished writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
574520be0f
|
Fix space allocation & compaction on start
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
715e7df51f
|
Use inflight_lsn iterators
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ea5ee0c46f
|
Free space on overwrites correctly
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ec3bf4ae6c
|
Correctly track fsynced_lsn when fsyncs are enabled
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
cb45b1865d
|
Extract multilist_alloc_t
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
f656545f4a
|
Check for overlaps during blockstore loading
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
0241a61412
|
Fix multilist_alloc_t bug, move verify and print to lib
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
cb085f9c8f
|
Mark overwritten heap_writes as immediately compacted
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
3ba3eed0cf
|
Use the same "inflight" queue to track compaction
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
b44c3a7971
|
Assign new LSN on stabilize
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
59b7b2e0c3
|
WIP Only save MVCC copy when overwriting an object
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
20bbeb4095
|
Prevent compaction of incomplete object writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
3c687a2993
|
Experimental INTENT_WRITE write mode with WA=2 instead of 3
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
c78b4d184d
|
Remove alloc_buffer_area
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
954e7b658d
|
Use a sequence of bitmap_allocs for metadata instead of std::sets...
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bfd5575425
|
Use single add_used_space call instead of unmark+mark allocated_block
|
2025-12-02 01:52:11 +03:00 |
|
Vitaliy Filippov
|
85e61c9c31
|
Remove compact_queue_lsn map
|
2025-12-02 01:52:11 +03:00 |
|
Vitaliy Filippov
|
f580cee936
|
Implement a really crazy "multi-linked-list" allocator for buffered data
|
2025-12-02 01:52:11 +03:00 |
|
Vitaliy Filippov
|
01ae800d34
|
Use linked lists in heap to avoid excessive memory copying
|
2025-12-02 01:52:11 +03:00 |
|
Vitaliy Filippov
|
8430104c19
|
"Heap" metadata storage scheme
|
2025-12-02 01:52:11 +03:00 |
|