Commit Graph
1263 Commits
Author SHA1 Message Date
Vitaliy Filippov 4dfb80e6a1 Collapse intent_writes on other write types too 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 1aff129f99 Fix buffer overflow in test_heap 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 2282ed0345 Add a test for parallel reads with block checksums 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 4b95fe4919 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-11-23 19:08:23 +03:00
Vitaliy Filippov ad6354a537 Add a test for "perfect_csum_update" mode 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 346d20ce29 Add 2 tests for intent writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov eb9633f21f Add a test with fsync 2025-11-23 19:08:23 +03:00
Vitaliy Filippov f86bed106c Implement buffered disk_mock_t mode, extract ringloop_mock.cpp 2025-11-23 19:08:23 +03:00
Vitaliy Filippov cc2975efe6 unaligned_intent does not need special handling anymore 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 27ef64cef4 Add an option for global coverage 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 7f7d79fdc9 Fix some blockstore bugs discovered by the mocked test! 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 7b94969869 Add a basic mocked blockstore test 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 92a0942cd6 Add mocks for blockstore integration tests: timerfd, ring_loop_mock_t and disk_mock_t 2025-11-23 19:08:23 +03:00
Vitaliy Filippov c5c332cb9a Test calc_checksums 2025-11-23 19:08:23 +03:00
Vitaliy Filippov cedbedc1e5 Check 2/3 blocks in test_recheck 2025-11-23 19:08:23 +03:00
Vitaliy Filippov b28c67ba5f Fix intent writes with padded checksums 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 26fb08cc02 Fix reads from intent writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 186f37e286 Disable punching block checksums and allow to enable it with a parameter 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 8c3b83ff74 Process big_writes as intents to avoid fsyncs 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 5fe474573e Fix collapsing intent-over-intent checksums 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 89644692ac Allow 1 intent_write over big_write in fsync mode 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 8581988c2c Block lists by previous writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov fb83ebbfff Allow multiple writes with the same version 2025-11-23 19:08:23 +03:00
Vitaliy Filippov abf741048a Add tests for intent writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov cb056b4413 Call finish_load after async recheck 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 2ba34bfd75 Do not block writes on previous writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 481005b062 Add atomic_write_size parameter 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 6464dae129 Use ui32 for block sizes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov e0d60dd49f Remove extra unneeded read_entry-s 2025-11-23 19:08:23 +03:00
Vitaliy Filippov abeb8b73fa Do not recheck data location on intent-write 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 15d47a2695 Remove FIXMEs 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 661c45cbb5 Fsync after stabilizing 2025-11-23 19:08:23 +03:00
Vitaliy Filippov bff3d35c85 Fsync & update metadata when block checksums are enabled 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 999d0e2961 Allow to cancel compaction for unfinished writes 2025-11-23 19:08:23 +03:00
Vitaliy Filippov df1ab722dd Fix space allocation & compaction on start 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 40a4952592 Use inflight_lsn iterators 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 298a5ec499 Free space on overwrites correctly 2025-11-23 19:08:23 +03:00
Vitaliy Filippov dd28f2f963 Use fsynced_lsn in flusher 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 41256ea460 Correctly track fsynced_lsn when fsyncs are enabled 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 1ccb241eef Check for overlaps during blockstore loading 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 31f7cbc19a Fix pending_ops 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 20226200a4 Fix repeating cur_oid 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 48f8ae8e30 Mark overwritten heap_writes as immediately compacted 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 38faa21966 Move "ack write" debug message 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 2afb16cd19 Fsync data on trim_lsn, not when writing compacted data 2025-11-23 19:08:23 +03:00
Vitaliy Filippov 908ce74500 Batch big_write data fsyncs 2025-11-23 19:08:23 +03:00