Vitaliy Filippov
33d14061d6
New store - write header on init only after clearing metadata
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
91698404a7
Add a basic OSD test as an example
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
27bd38d95e
Allow to create OSD with mocked blockstore and network
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
df931b1e17
Check for short reads in blockstore init
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
15f69719e4
Not an actual bug, clean up fsync conditions for clarity
...
It could be a bug if data_fd could be equal to journal_fd but not to meta_fd,
but it can't.
2026-06-13 19:55:47 +03:00
Vitaliy Filippov
43aa4cfff6
Fix incorrect deferred freeing of block used by a parallel read in the old store
2026-06-13 19:55:47 +03:00
Vitaliy Filippov
236ffbb24e
Fix multilist_alloc_t bug (not triggerable in real operation but still a bug)
2026-06-10 01:01:20 +03:00
Vitaliy Filippov
0e300f4c50
Fix incorrect rounding in vitastor-disk trim when --discard_granularity option is passed
2026-06-10 00:38:34 +03:00
Vitaliy Filippov
6d82a3daa3
Fix fill_block_empty_space argument type (ui32 -> ui64)
2026-06-10 00:33:31 +03:00
Vitaliy Filippov
c1dc14f5ee
Fix old store no_inode_stats not working
2026-06-05 00:50:53 +03:00
Vitaliy Filippov
f236ed895a
Rename parameter to reflect actual semantics
2026-05-31 12:03:49 +03:00
Vitaliy Filippov
0a04490043
Fix repeated rollbacks in bs_heap
2026-05-31 11:43:56 +03:00
Vitaliy Filippov
dce7ffde6f
Fix compaction with do_delete
2026-05-31 11:27:19 +03:00
Vitaliy Filippov
f6bd1ff0e5
Fix postpone_load in the new blockstore
2026-05-31 10:52:11 +03:00
Vitaliy Filippov
ac00a06757
Make fsync batch members actually wait for fsync completion (found by kimi k2.6)
2026-05-30 16:38:02 +03:00
Vitaliy Filippov
747fd5c121
Add count >= maxn assert
2026-05-30 02:27:39 +03:00
Vitaliy Filippov
51ae4d6e24
Remove extra assert in heap after reworking recheck
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
ff95a85875
Add bound check to je_crc32
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
98203568a8
Handle ENOENT from add_commit
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
4fb55b3535
Rework recheck_small_writes to free multiple bad entries more correctly and not use garbage as "already freed" flag
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
53b4329fac
Add missing active_flushers--
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
4ed17b7070
Sync metadata after writing out recheck_modified_blocks
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
625d5b7b9e
Fix punch_holes not updating entry crc (bug when perfect_csum_update==true)
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
c2b5118127
Add data device fsyncs during compaction (forgotten during initial heap store dev)
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
f271c8450c
Block sync by all previous syncs
2026-05-11 16:33:49 +03:00
Vitaliy Filippov
87a5230798
Add forgotten header_csum check to the new store
2026-05-11 14:59:08 +03:00
Vitaliy Filippov
0c5e6d4346
Do not use modified_block(ui32) to store lsn(ui64)
2026-05-11 14:59:08 +03:00
Vitaliy Filippov
b278087410
Fix assert in blockstore_heap
2026-05-11 13:01:03 +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
553191c3ff
Add asserts to the new store too O:-)
2026-05-10 11:39:54 +03:00
Vitaliy Filippov
ab385252b5
Add offset asserts before each write
2026-05-10 10:56:32 +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
2e36f292bd
Fix buffer alignment during metadata clearing on init
2026-04-10 21:56:12 +03:00
Vitaliy Filippov
4005b88865
Do not use node_type
2026-04-04 17:37:47 +03:00
Vitaliy Filippov
e5c505eaf4
Write 1 entry to blocks to collect garbage
2026-04-03 18:08:12 +00:00
Vitaliy Filippov
c1d244d4f0
Fix init metadata entry loading logging
2026-04-03 18:08:12 +00:00
Vitaliy Filippov
9b264a212f
Do full metadata GC on start (new store)
2026-04-03 18:08:12 +00:00
Vitaliy Filippov
ff7f5cb4f4
Report live & garbage entry count / memory with log_level > 1
2026-04-02 23:45:13 +00:00
Vitaliy Filippov
99c4244004
Try to write into blocks with more garbage first
2026-04-02 13:48:17 +00:00
Vitaliy Filippov
e6881ad1d5
Fix read_bitmap from deleted objects with the new store
2026-03-31 01:59:53 +03:00
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