Commit Graph
1280 Commits
Author SHA1 Message Date
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
Vitaliy Filippov 8823ddf48e Process big_writes as intents to avoid fsyncs 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 8992eb57df Block lists by previous writes 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 e8e2aa5dba Call finish_load after async recheck 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 c392e914e2 Do not block writes on previous writes 2025-12-02 01:52:12 +03:00
Vitaliy Filippov 249e04ac0d Add atomic_write_size parameter 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 6a5044ae36 Do not recheck data location on intent-write 2025-12-02 01:52:12 +03:00
Vitaliy Filippov 49407afa17 Remove FIXMEs 2025-12-02 01:52:12 +03:00
Vitaliy Filippov a00fc1bc24 Fsync after stabilizing 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 47bec8af47 Use fsynced_lsn in flusher 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