Vitaliy Filippov
0a04490043
Fix repeated rollbacks in bs_heap
2026-05-31 11:43:56 +03:00
Vitaliy Filippov
912aca11a3
Improve test_recheck to check all possible combinations
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
a0c8be46a4
Speedup blockstore_heap loading by postponing only objects with a lot of versions
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
caa70317fa
Add a workaround for "double claim" bug with the new store
2026-05-10 17:00:36 +03:00
Vitaliy Filippov
0134934c99
Do not skip garbage entries on start (rollback change from 3.0.4)
2026-04-11 12:05:02 +03:00
Vitaliy Filippov
9b264a212f
Do full metadata GC on start (new store)
2026-04-03 18:08:12 +00: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
d6dacc67db
Do not return EBUSY when already stable in the new store
2026-02-07 16:10:39 +03:00
Vitaliy Filippov
6bd0830ab8
Add a test for chunked resharding
2026-02-07 16:02:17 +03:00
Vitaliy Filippov
796e82f34d
Check get_compacted_count and get_compact_queue_size
2026-02-07 15:44:54 +03:00
Vitaliy Filippov
db39283970
Add a test for complete_lsn_write
2026-02-07 15:36:46 +03:00
Vitaliy Filippov
9f8c686321
Add a test for redirect_intent
2026-02-07 15:09:58 +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
d164499a1c
Add more iterate_compaction test cases
2026-02-06 18:52:19 +03:00
Vitaliy Filippov
4fbe4b5654
Fix BIG_INTENT rechecks with enabled checksums
2026-02-04 02:33:50 +03:00
Vitaliy Filippov
9e47828383
Add a test for big_intent with checksums
2026-02-04 02:33:50 +03:00
ston3lu and Vitaliy Filippov
2d616d8058
Fix VLA init in test_heap
...
I accept Vitastor CLA agreement: https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/CLA-en.md
2026-01-29 02:01:21 +03:00
Vitaliy Filippov
c4c17ee6fb
Support chunked resharding in OSD
2026-01-25 10:42:48 +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
b17691ba02
Add a redirect_intent write mode for non-capacitor SSDs
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
e9f0639e62
Fix iterate_compaction for the case of unfinished commit/rollback
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
4e0b203552
Fix iterate_compaction for commit with non-latest version
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
378fff6f67
Write recheck_modified_blocks to disk
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
17d61c5868
Fix disk_tool for lsmeta
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
8f92979a18
Move prev/next/block_num to struct heap_list_item_t
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b720af74c2
WIP experimental - double linked list
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
1e5a01def8
Another experiment: store writes in mallocs
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
ec8527c89d
Experimental: move prev_count to the map itself
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
e512e1eeb1
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
94f3634602
Fix object crc32c calculation
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
2b8a9e3f90
Add entry_type to heap_object_t too
...
This is required to:
1) later inline the last "big_write" entry into the object to slightly reduce memory usage
2) eliminate an ugly hack where entry type is determined by its size
3) make the storage scheme extensible i.e. when adding new entry types
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
ef792608b0
Rename flags to entry_type
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
3ea9230ed0
WIP dump/load heap
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
97dfbfad75
Add missing list_stable_limit support
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
552ba5d885
B-tree is slower...
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
74b8ea1303
Fix skipping of corrupted objects, fix use_buffer_area with zero size
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
2d7da127ad
Return all unstable versions in listing
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
b0809b33aa
Use multilist_index_t instead of multiple bitmap allocators
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
fb87870734
Support moving objects between blocks
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
274f9ecda5
Add a test for "perfect_csum_update" mode
2025-12-02 01:52:12 +03:00