Commit Graph
37 Commits
Author SHA1 Message Date
Vitaliy Filippov ec10a25905 Use 32-bit big write location (OK for up to 512 TB OSDs) 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 923c41b928 Do not store offset & len in big_writes 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 59a51363d0 Rename flags to entry_type 2025-11-23 19:08:24 +03:00
Vitaliy Filippov f215c791c8 Fix checksum validation in !inmemory_journal mode 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 171b339eb3 Remove unused bs->buffer_area + buffer calc 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 915be747d6 Mark in-memory data reads as SKIP_CSUM 2025-11-23 19:08:24 +03:00
Vitaliy Filippov b14fbbf5cc Add missing calc_crc32c after updating block checksums 2025-11-23 19:08:24 +03:00
Vitaliy Filippov e379fc6df4 Fix checksum padding during flush 2025-11-23 19:08:24 +03:00
Vitaliy Filippov ecd26ebac3 Fix zero-length writes 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 9369b643a1 Fix a bs_read bug 2025-11-23 19:08:24 +03:00
Vitaliy Filippov b2b30201c4 Extract (flags & BS_HEAP_TYPE) into a function 2025-11-23 19:08:24 +03:00
Vitaliy Filippov 2282ed0345 Add a test for parallel reads with block checksums 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 cc2975efe6 unaligned_intent does not need special handling anymore 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 186f37e286 Disable punching block checksums and allow to enable it with a parameter 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 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 20226200a4 Fix repeating cur_oid 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 98da2cb6e0 Use the same "inflight" queue to track compaction 2025-11-23 19:08:22 +03:00
Vitaliy Filippov 0fd557fe95 Use new LSNs on stabilize 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 393f9d6b6f Do not use wr_offset 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 6ee1093837 Remove sync_to_repeat map and use simpler repeating 2025-11-23 19:07:43 +03:00
Vitaliy Filippov 622cc55924 Use linked list heap in blockstore code
WIP, still slower than the old version :-E
2025-11-23 19:07:43 +03:00
Vitaliy Filippov 19a386e4b3 Integrate "heap" metadata storage into blockstore 2025-11-23 19:07:42 +03:00
Vitaliy Filippov 5d3f3f47a7 Move all #defines to internal.h 2025-11-23 14:53:46 +03:00
Vitaliy Filippov be1858848e Remove block_order and replace << >> by / * data_block_size 2025-11-22 18:10:32 +03:00
Vitaliy Filippov 0be86a306d Remove old liburing version support as it's now included 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 53b12641d1 Fix the fix :) 2025-08-23 17:45:56 +03:00
flynn.yangandVitaliy Filippov 5c5c8825dc Avoid multiple inflight overwrites to meta blocks
https://github.com/vitalif/vitastor/pull/83

By https://github.com/Flynn049

By submitting this pull request, I accept Vitastor CLA
2025-08-23 17:45:03 +03:00
Vitaliy Filippov ca63cd507d Fix possible infinite loop in flusher (surprisingly reproduced in test_write.sh with iothreads) 2024-06-27 00:38:01 +03:00
Vitaliy Filippov c79b38bd26 Move all sources to subdirs 2024-05-15 11:06:01 +03:00