Vitaliy Filippov
dd85315f22
Update CMake supported versions
2026-03-30 02:06:10 +03:00
Vitaliy Filippov
df16ab627a
Fix another bug in old store checksums O_o
...
Checksum verification wasn't working correctly on reads of small initial offsetted writes
from the journal (until the write was flushed to "clean" metadata).
2026-03-17 22:26:38 +00:00
Vitaliy Filippov
0bd9c26620
Make block_sizes uint64_t to prevent other integer overflow errors in the future
2026-03-07 12:02:57 +03:00
Vitaliy Filippov
ae2b1f7802
Some useless code changes for beauty
2026-03-07 00:15:16 +03:00
Vitaliy Filippov
883b2e45da
Fix uint32 overflow in the new store :-X
2026-03-06 17:21:22 +03:00
Vitaliy Filippov
230a26772e
Do not allow data_block_size < 8*bitmap_granularity
2026-03-03 02:09:16 +03:00
Vitaliy Filippov
22c39561cf
Add a recovery option for the new store: skip_corrupted_meta_entries
2026-03-02 02:51:09 +03:00
Vitaliy Filippov
d4c67b4879
Ignore array-bounds warning in bs_heap
2026-03-02 02:49:56 +03:00
Vitaliy Filippov
33b561b73a
Fix throttling with the new store
2026-03-01 23:46:30 +00:00
Vitaliy Filippov
42fc45d6da
Use iterate_with_stable in list_objects too
...
Fixes "different fact_versions returned from subops" with EC in some cases
2026-03-02 01:48:33 +03:00
Vitaliy Filippov
a1d215ea2f
Fix garbage validation, skip garbage entries on load
2026-02-17 01:12:26 +03:00
Vitaliy Filippov
4fa442a5de
Sort items on load to fix O(N^2) startup
2026-02-17 01:12:26 +03:00
Vitaliy Filippov
d2ac8e3827
Fix block writeback on enospc during commit
2026-02-07 16:27:26 +03:00
Vitaliy Filippov
d6dacc67db
Do not return EBUSY when already stable in the new store
2026-02-07 16:10:39 +03:00
Vitaliy Filippov
cbe51595cb
Remove reshard_abort
2026-02-07 16:05:40 +03:00
Vitaliy Filippov
2618e559d1
Add rollback tests, simplify rollback logic
2026-02-07 15:09:58 +03:00
Vitaliy Filippov
037d2bc162
Add a test for recalc_inode_stats in the new store and fix a bug in it
2026-02-07 14:00:10 +03:00
Vitaliy Filippov
f0b64adb32
Fix removed inodes not disappearing from statistics in the new store
2026-02-07 02:48:49 +03:00
Vitaliy Filippov
f06d64d879
Fix validate_object commit validation bug
2026-02-06 18:52:37 +03:00
Vitaliy Filippov
725e9aa8ae
Remove unused read_locked_entry
2026-02-06 17:38:59 +03:00
Vitaliy Filippov
4fbe4b5654
Fix BIG_INTENT rechecks with enabled checksums
2026-02-04 02:33:50 +03:00
Vitaliy Filippov
9fb645693b
Fix checksums with BIG_INTENT writes in the new store
2026-02-04 02:33:50 +03:00
Vitaliy Filippov
9cc2beed95
Fix new compile warnings from merged PR
2026-01-30 00:47:58 +03:00
MoonBoi9001 and Vitaliy Filippov
fb1c870f5c
Fix: integer division bug with block_size < 32KB ( #113 )
...
Test scenarios:
- 128KB aligned I/O (may work despite bug)
- 4KB random I/O (triggers assertion failure)
- 4KB mixed read/write (triggers crash)
- 4KB sequential write (triggers crash)
I accept Vitastor CLA agreement: https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/CLA-en.md
2026-01-29 02:04:30 +03:00
Vitaliy Filippov
3f7f6f442b
Fix some compilation warnings
2026-01-29 02:00:25 +03:00
Vitaliy Filippov
2b801a7ffa
Support chunked resharding in blockstores
2026-01-25 01:56:29 +03:00
Vitaliy Filippov
73f9c7293f
Initialize blockstore after loading pool configuration to pre-shard the DB correctly on start
2026-01-23 01:45:13 +03:00
Vitaliy Filippov
ddd755a0e6
Fix incorrect checksums for small initial writes in the old store
...
Details:
- Write size should be exactly csum_block_size (4k by default)
- Write should be made into a new object (unallocated space)
- In this case, the checksum of the block was calculated as if the block was
padded with extra (2^32 - size) zero bytes due to a simple integer overflow
- As a cherry on the cake, such calculation was 'slightly' slow because it
was processing almost 4 GB of zeroes for a small write
2026-01-16 01:07:39 +03:00
Vitaliy Filippov
44eeb1ed13
Do not read incomplete intent writes
2025-12-21 11:49:56 +03:00
Vitaliy Filippov
934752d617
Add define RWF_DSYNC
2025-12-06 01:24:19 +03:00
Vitaliy Filippov
a5768a8ef6
Parse empty meta_format in superblock as v2 (fix updating from 2.x)
2025-12-02 01:52:42 +03:00
Vitaliy Filippov
8ffdb93ed3
Implement test_resize_auto for the new (lsm/heap) store
2025-12-02 01:52:42 +03:00
Vitaliy Filippov
615d4825c0
Remove FIXME
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
e55ca26ff6
Reject all-zero blocks, mark empty space with a special entry type during init
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
abe093b9a3
Reserve for max_entry_size, not for min_entry_size
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
07e6eb0b16
Return no_inode_stats feature back
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
0eacce1e1d
Crazy shit: optimize inode maps for very small item counts (i.e. inodes with only 1-15 objects)
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3df410acc7
Fix test_scrub with BIG_INTENTs
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
e55927076c
Abort compaction if overwritten
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
60fcb168fe
Fix assert
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b17691ba02
Add a redirect_intent write mode for non-capacitor SSDs
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
f2cbe793e2
Fix intent_write_allowed check, add offset & len validation on start
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
0053546f8b
Remove zerofill in blockstore (an old and unused artifact)
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
959f792f82
Auto-guess atomic_write_size from /sys
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
04eefce30b
Fix recheck logging
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
746844d301
Add double-claim block check
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
c8f5b6cb19
Fix submitting forced fsyncs in flusher
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
944499135f
Reduce hashmap memory usage by 8 bytes per key :)
2025-12-02 01:52:12 +03:00