Vitaliy Filippov
9dda449f48
Fix fully-degraded EC writes destroying bitmaps
2026-06-15 01:52:04 +03:00
Vitaliy Filippov
e6d4b32629
Also check padded small_write
2026-06-15 01:31:19 +03:00
Vitaliy Filippov
4de22a08e2
Fix partial padded read checksum verification
2026-06-15 01:31:19 +03:00
Vitaliy Filippov
a403de46b3
Test partial padded read
2026-06-15 01:31:19 +03:00
Vitaliy Filippov
ac20f605f6
Fix scrub bitmap comparison
2026-06-15 01:31:19 +03:00
Vitaliy Filippov
51ecbadb12
Only update bitmaps when writing data in primary subops
...
Fixes fully degraded EC writes and recovering EC writes corrupting bitmaps
2026-06-15 01:31:19 +03:00
Vitaliy Filippov
6a4627b625
Write a test for store v1 & journal corruption preservation, fix MULTIPLE bugs
2026-06-14 11:23:36 +03:00
Vitaliy Filippov
fd2b8b8792
Fix ec_check_combination more correctly (fixes osd_rmw_test_je)
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
f3d662bac7
Verify bitmaps during scrub
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
553cc8ef87
Add a test for replicated bitmap scrub
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
67fdf1142b
Fix vitastor-disk crash when converting from 0.5.x metadata
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
02f6e564a6
Old store - write header on init only after clearing metadata
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
33d14061d6
New store - write header on init only after clearing metadata
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
677e755e4e
Replace VLA with a vector and also fix invalid dangling pointer warnings
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
11a972cbfb
Delete pg.peering_state when it is not needed
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
1834743a0e
Fix incorrect clearing of LOC_CORRUPTED on the second scrub
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
213f76c66c
Add a regression test for LOC_CORRUPTED cleared on second scrub
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
ef0e61be1b
Split and mock etcd_state_client_t for testing
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
26fb08d7da
Change st_cli to pointer
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
80fa3094b3
Fix cpp-btree disabling asserts everywhere it is included to!
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
906294ae9a
Fix ec_check_combination() short tmp_buf allocation
2026-06-13 19:56:05 +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
6901227390
Fix cached EC decoding of multiple stripes with ISA-L
2026-06-10 02:07:58 +03:00
Vitaliy Filippov
7f718feaf6
Fix alloc in nfs_portmap
2026-06-10 01:02:30 +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
c0c01a8e57
Fix writeback detection in ublk server for --image mode
2026-06-10 00:31:48 +03:00
Vitaliy Filippov
334755e912
Fix vitastor-disk resize to smaller size clearing all data O_o, add a test for it
2026-06-10 00:30:42 +03:00
Vitaliy Filippov
c16f955a51
Limit the amount of incoming data for NFS clients to prevent choking on memory
2026-06-06 13:56:20 +03:00
Vitaliy Filippov
c1dc14f5ee
Fix old store no_inode_stats not working
2026-06-05 00:50:53 +03:00
Vitaliy Filippov
ec6a70bbd3
Release 3.0.13
...
- New store fixes:
- Fix repeated rollback logic
- Fix crash on rolled back object compaction
- Fix postpone_load possibly merging different object chains
- Fix block_csums import in vitastor-disk write-meta
- Fix header checksum after vitastor-disk write-meta
- Old store fixes:
- Fix batched fsync possibly skipped by some flush coroutines
- Improve ENOSPC test, fix possible crash on ENOSPC
- Add fsyncs to vitastor-disk prepare
- Fix possible crash on pg_lock check failure in sec_read_bmp
- Fix VitastorFS initialization when local_reads are enabled
v3.0.13
2026-05-31 12:22:43 +03:00
Vitaliy Filippov
f236ed895a
Rename parameter to reflect actual semantics
2026-05-31 12:03:49 +03:00
Vitaliy Filippov
7d70c90196
Save osd_num for locally submitted writes for mark_partial_write (still needs osd unit tests :))
2026-05-31 11:47:48 +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
155cfb3c73
Add fsyncs to vitastor-disk prepare (cosmetic)
2026-05-30 16:16:31 +03:00
Vitaliy Filippov
126891126a
Do not use unneeded uint64 -> unsigned conversion
2026-05-30 16:14:01 +03:00
Vitaliy Filippov
547a394be6
Fix another unused piece of code
2026-05-30 16:09:48 +03:00
Vitaliy Filippov
1a511acead
Do not ignore nfs_do_fsync result
2026-05-30 15:58:46 +03:00
Vitaliy Filippov
5576a0d9ff
Detect checksums by csum_block_size in vitastor-disk
2026-05-30 02:36:08 +03:00
Vitaliy Filippov
879e9a32d1
Fix unused code in make_cyclic
2026-05-30 02:31:02 +03:00
Vitaliy Filippov
747fd5c121
Add count >= maxn assert
2026-05-30 02:27:39 +03:00
Vitaliy Filippov
b4aab7a78e
Fix block_csums import in write-meta heap
2026-05-28 02:05:03 +03:00