Vitaliy Filippov
e6881ad1d5
Fix read_bitmap from deleted objects with the new store
2026-03-31 01:59:53 +03:00
Vitaliy Filippov
44eeb1ed13
Do not read incomplete intent writes
2025-12-21 11:49:56 +03:00
Vitaliy Filippov
60fcb168fe
Fix assert
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
eaff4509ca
Complete small/intent writes explicitly, not implicitly on metadata block write
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
25ce82a729
Fix checksum flushing for the case of empty small writes, fix checksum calculation skipping during read
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
e9f0639e62
Fix iterate_compaction for the case of unfinished commit/rollback
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3eecf9048c
Simplify compaction
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
1852caaeec
Implement even more simplified big_intent writes
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
5afef7ca6d
WIP Integrate LSMeta :-)
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
7ab60c00ab
Use 32-bit big write location (OK for up to 512 TB OSDs)
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
ac8e0ef231
Do not store offset & len in big_writes
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c148f97ee4
Fix checksum validation in !inmemory_journal mode
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b1f61eb5c8
Fix checksum padding during read
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
0cb0e31ceb
Mark in-memory data reads as SKIP_CSUM
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
57d83ecf7c
Fix free_read_buffers
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c3eaaa4b94
Fix read fio bench
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c980168d10
Fix a bs_read bug
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
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
615e9d1274
Fix some blockstore bugs discovered by the mocked test!
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
7f0c78113b
Do not use wr_offset
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
6d0460500a
Use linked list heap in blockstore code
...
WIP, still slower than the old version :-E
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
8ff2c268f7
Integrate "heap" metadata storage into blockstore
2025-12-02 01:52:11 +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
b58bf3ada5
Fix possible OSD crash during parallel read & write to an image with snapshots
...
OSDs could crash with the following "assertion failed" message (crash didn't affect data
and was caused by OSD thinking upper blocks are full while they weren't). Reproduction
without introducing artificial delays is hard because you have to force OSD to read an
object with enqueued but not handled write which fills previously non-full bitmap. O_o.
```
vitastor-osd: ./src/osd/osd_primary_chain.cpp:613: void osd_t::send_chained_read_results(pg_t&, osd_op_t*): Assertion `stripes[role].read_buf' failed.
```
2024-09-21 13:44:36 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00