Vitaliy Filippov
3cb7ec69bc
Remove sync_to_repeat map and use simpler repeating
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
954e7b658d
Use a sequence of bitmap_allocs for metadata instead of std::sets...
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
2c6ea8a521
It seems tcmalloc is actually slower, disable it
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
bfd5575425
Use single add_used_space call instead of unmark+mark allocated_block
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
85e61c9c31
Remove compact_queue_lsn map
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
f580cee936
Implement a really crazy "multi-linked-list" allocator for buffered data
2025-12-02 01:52:11 +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
01ae800d34
Use linked lists in heap to avoid excessive memory copying
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
dbb885a6b1
v1 (old) store fixes for merged version
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
8430104c19
"Heap" metadata storage scheme
2025-12-02 01:52:11 +03:00
Vitaliy Filippov
3ad83e8d13
Use only space_left, not sqes_left
2025-11-23 15:17:57 +03:00
Vitaliy Filippov
5d3f3f47a7
Move all #defines to internal.h
2025-11-23 14:53:46 +03:00
Vitaliy Filippov
8ee7058ec8
Use an interface instead of explicit blockstore_t wrapper
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
1badc6ad13
Remove include of blockstore_impl.h from disk_tool and osd
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
be1858848e
Remove block_order and replace << >> by / * data_block_size
2025-11-22 18:10:32 +03:00
Vitaliy Filippov
d75b1cb2d2
Refactor some defines
2025-11-22 18:07:44 +03:00
Flynn049 and GitHub
c164adb43c
Fix: journal sector written flag not set when submitted ( #109 )
2025-11-07 00:59:04 +03:00
Vitaliy Filippov
e3c8fd28b4
Allow to test EC writes with fio_blockstore
2025-09-27 14:12:24 +03:00
Vitaliy Filippov
d87e7d1a37
Optimize WA - do not move to the next journal sector until the actual write
2025-09-27 11:23:05 +03:00
Vitaliy Filippov
2ebe3a468c
Mark all symbols hidden by default, export only required ones
2025-08-24 16:55:58 +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
9f57c75acf
unordered_map flush_versions
2025-08-23 17:45:56 +03:00
Vitaliy Filippov
53b12641d1
Fix the fix :)
2025-08-23 17:45:56 +03:00
flynn.yang and Vitaliy 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
feaf7a15cf
Use CRC32C implementation from ISA-L when available - enables VPCLMULQDQ version with AVX512 which is ~2x faster
2025-08-10 18:03:47 +03:00
Vitaliy Filippov
1de53ef7e6
Move crc32c_pad to util/crc32c.c
2025-08-10 18:03:17 +03:00
Vitaliy Filippov
918ea34af2
Remove "Only allow to overwrite part of the bitmap" blockstore API feature
2025-08-10 17:57:04 +03:00
Vitaliy Filippov
25d6281b3e
Remove BS_OP_SYNC_STAB_ALL
2025-07-26 14:13:11 +03:00
Vitaliy Filippov
1676e50b3a
Fix debug trace for fio_bs
2025-07-26 14:12:48 +03:00
Vitaliy Filippov
8049e3c14a
Use OP_WRITE_STABLE in bs_fio
2025-07-26 14:12:48 +03:00
Vitaliy Filippov
15d0204f96
Hide "Ran out of journal space" log messages by default
2025-04-20 01:21:03 +03:00
Vitaliy Filippov
f544c350ba
%l* -> %j*
2025-03-22 15:32:07 +03:00
Vitaliy Filippov
a73b2a26b6
Fix blockstore initialization after moving clean_dyn_size calc to calc_lengths
2025-03-16 13:44:02 +03:00
Vitaliy Filippov
1d94afbd51
Implement offline TRIM support
2025-03-14 01:37:16 +03:00
Vitaliy Filippov
3634f005f1
Fix upgrading from pre-0.7.1 systemd units O_o
2025-03-14 01:37:16 +03:00
Vitaliy Filippov
263a3b5ad6
Rename allocator to allocator_t
2025-03-13 00:53:34 +03:00
Vitaliy Filippov
125dcafb11
Prevent OSD crashes when metadata is corrupted
2025-02-20 02:19:32 +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
306a3db7f3
Rename VERSION define to VITASTOR_VERSION
2024-07-31 01:15:37 +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