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
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
ec5e93307d
Add a basic mocked blockstore 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
87fe1bc00f
Check 2/3 blocks in test_recheck
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
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
2e4d5ae5bb
Return new_lsn from erase and rollback
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
0241a61412
Fix multilist_alloc_t bug, move verify and print to lib
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
7530bdbec7
Add test_compact_block
2025-12-02 01:52:12 +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
Vitaliy Filippov
8ee7058ec8
Use an interface instead of explicit blockstore_t wrapper
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
d75b1cb2d2
Refactor some defines
2025-11-22 18:07:44 +03:00
Vitaliy Filippov
a3c1996101
Do not accidentally clear incorrect osd_peer_fds entries
2025-06-05 02:22:13 +03:00
Vitaliy Filippov
2ab0ae3bc9
Check operation sequencing and stop clients when it breaks
2025-05-02 17:01:50 +03:00
Vitaliy Filippov
8508e78288
Add an alternative RDMA implementation via RDMA-CM
...
Required for non-RoCE cards: iWARP and, possibly, Infiniband
2025-03-31 21:01:25 +03:00
Vitaliy Filippov
be22c363ca
Do not skip client_retry_interval on reconnecting OSDs to prevent OSD spam
2025-03-20 00:12:38 +03:00
Vitaliy Filippov
263a3b5ad6
Rename allocator to allocator_t
2025-03-13 00:53:34 +03:00
Vitaliy Filippov
4a763725fe
Add free() to bindiff.c
2025-02-22 16:52:19 +03:00
Vitaliy Filippov
86b5760ec1
Fix writeback incorrectly calculating queue size which was leading to client hangs
2025-02-18 23:42:55 +03:00
Vitaliy Filippov
0e6bf66734
Add bindiff for tests
2025-01-02 19:59:04 +03:00
Vitaliy Filippov
a03508320e
Move json_is_true/json_is_false to json_util.cpp
2024-10-12 00:40:39 +03:00
Vitaliy Filippov
5b0aebada4
Rename /config/pgs to /pg/config and /pg/stats/* to /pgstats/*
2024-07-31 01:15:37 +03:00
Vitaliy Filippov
ea0d72289c
Treat copied buffers as written only after completing the write in client
...
SYNC operation fsyncs only completed operations, so treating writes as "eligible
for fsync" before actually completing them is incorrect
It affected SCHEME=ec test_heal.sh (with immediate_commit=none) test - it was
flapping with lost writes - some non-fsynced writes were legitimately lost by
the OSD, but weren't repeated by the client
2024-06-20 02:11:53 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00