Vitaliy Filippov
98da2cb6e0
Use the same "inflight" queue to track compaction
2025-11-23 19:08:22 +03:00
Vitaliy Filippov
0fd557fe95
Use new LSNs on stabilize
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
a52dd0dfb5
Assign new LSN on stabilize
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
66847653aa
WIP Only save MVCC copy when overwriting an object
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
393f9d6b6f
Do not use wr_offset
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
9a87452d23
Prevent compaction of incomplete object writes
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
385973f777
Experimental INTENT_WRITE write mode with WA=2 instead of 3
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
4d649b1726
Remove alloc_buffer_area
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
bf180f5292
Two more unordered_maps
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
6ee1093837
Remove sync_to_repeat map and use simpler repeating
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
1747cd6a95
Use a sequence of bitmap_allocs for metadata instead of std::sets...
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
ec9eba63af
It seems tcmalloc is actually slower, disable it
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
86dbd99268
Use single add_used_space call instead of unmark+mark allocated_block
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
7ad3001afd
Remove compact_queue_lsn map
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
5222c2724f
Implement a really crazy "multi-linked-list" allocator for buffered data
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
622cc55924
Use linked list heap in blockstore code
...
WIP, still slower than the old version :-E
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
e2fa675ad0
Use linked lists in heap to avoid excessive memory copying
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
388b5f19a1
v1 (old) store fixes for merged version
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
19a386e4b3
Integrate "heap" metadata storage into blockstore
2025-11-23 19:07:42 +03:00
Vitaliy Filippov
9264ca96a4
"Heap" metadata storage scheme
2025-11-23 15:18:01 +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