Commit Graph
28 Commits
Author SHA1 Message Date
Vitaliy Filippov abf741048a Add tests for intent writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 43c4510a29 More tests for incorrect data cases 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 18a2858c62 Return new_lsn from erase and rollback 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 229c19dee4 Extract multilist_alloc_t 2025-11-23 19:08:23 +03:00
Vitaliy Filippov b8245f86eb Fix multilist_alloc_t bug, move verify and print to lib 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 98da2cb6e0 Use the same "inflight" queue to track compaction 2025-11-23 19:08:22 +03:00
Vitaliy Filippov a52dd0dfb5 Assign new LSN on stabilize 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 66847653aa WIP Only save MVCC copy when overwriting an object 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 9a87452d23 Prevent compaction of incomplete object writes 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 385973f777 Experimental INTENT_WRITE write mode with WA=2 instead of 3 2025-11-23 19:07:43 +03:00
Vitaliy Filippov b958f7f119 Add test_compact_block 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 5222c2724f Implement a really crazy "multi-linked-list" allocator for buffered data 2025-11-23 19:07:43 +03:00
Vitaliy Filippov e2fa675ad0 Use linked lists in heap to avoid excessive memory copying 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 9264ca96a4 "Heap" metadata storage scheme 2025-11-23 15:18:01 +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