Vitaliy Filippov
|
6e856c2719
|
Use emhash::try_get
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
af710d3c65
|
Use emhash hashmap (2x faster)
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
8189c3a4ef
|
Use unordered_maps for object-block index
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
552ba5d885
|
B-tree is slower...
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
14bbf18ede
|
Unordered_map for pool settings
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
c3eaaa4b94
|
Fix read fio bench
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
8b35c09e12
|
Fix vitastor-disk prepare and param validation
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
74b8ea1303
|
Fix skipping of corrupted objects, fix use_buffer_area with zero size
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
6a30e6653a
|
Support heap format in simple-offsets
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
2d7da127ad
|
Return all unstable versions in listing
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
4143d56db7
|
Actually fsync after stabilize
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
5067554e46
|
Move test & build_test to top-level cmakelists
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bc48eb1ff8
|
Add missing request_trim
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
b0809b33aa
|
Use multilist_index_t instead of multiple bitmap allocators
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
d61cf2303f
|
Implement another multilist-style allocator for metadata blocks
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
712f22d6f8
|
Fix a bug with unstable_big over unstable_small
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
4340082315
|
Limit the number of unstable versions per object
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
a1a449686a
|
Integrate moving objects
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
fb87870734
|
Support moving objects between blocks
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
99bddb976a
|
Fix zero-length writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
4f997791b8
|
Fix op_stable slowdowns
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
c980168d10
|
Fix a bs_read bug
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
dce4a6c37a
|
Fix test dependencies
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
38d5175f66
|
Add read_blocks() API
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7569fb959b
|
Fix block checksum calculation in write_journal for the old blockstore version
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
aa1e62a502
|
Remove block_order parameter
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
dcbdb0ae33
|
Extract (flags & BS_HEAP_TYPE) into a function
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
6e5f990801
|
Make dump-journal --format data default
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
845e76a0ec
|
Add fio options
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
a98aee7906
|
Fix loading for out-of-order lsns
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
064a94166c
|
Add include for older gcc
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
38112e9012
|
Fix vitastor-disk build (with old metadata and journal formats)
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
353460cc83
|
Collapse intent_writes on other write types too
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
92631bb6b3
|
Fix buffer overflow in test_heap
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ce050e7eda
|
Add a test for parallel reads with block checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
556fc9a876
|
Remove cancel_all_writes
Not needed because a) parallel writes to the same object are forbidden
b) subsequent writes don't depend on previous ones anyway.
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
274f9ecda5
|
Add a test for "perfect_csum_update" mode
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
e0d2705294
|
Add 2 tests for intent writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
57d2f30303
|
Add a test with fsync
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7f4c541a6f
|
Implement buffered disk_mock_t mode, extract ringloop_mock.cpp
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
b0b495a991
|
unaligned_intent does not need special handling anymore
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
da8bf2b73b
|
Add an option for global coverage
|
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
|
ec5e93307d
|
Add a basic mocked blockstore test
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
b599334c4a
|
Add mocks for blockstore integration tests: timerfd, ring_loop_mock_t and disk_mock_t
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bcde273ca1
|
Test calc_checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
87fe1bc00f
|
Check 2/3 blocks in test_recheck
|
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
|
62995243f3
|
Fix reads from intent writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7ea4884ef6
|
Disable punching block checksums and allow to enable it with a parameter
|
2025-12-02 01:52:12 +03:00 |
|