Vitaliy Filippov
3becdbf5b9
Add bounds checks to prevent uint32 overflows in NFS/XDR
2026-06-17 12:04:50 +03:00
Vitaliy Filippov
9c49315fdf
Fix moving of the last block in vitastor-disk resize
2026-06-17 01:19:12 +03:00
Vitaliy Filippov
430d3cfb6f
Add a dump|load test, fix multiple bugs in both new&old dump/load utils
...
Details:
- New store dump/write-meta didn't use actual metadata parameters from the header
- New store write-meta calculated small entry sizes incorrectly
- Old store write-journal imported entries with checksums incorrectly
- Old store write-meta didn't import block_csums at all (it was using a wrong json key)
2026-06-17 01:19:12 +03:00
Vitaliy Filippov
c491db699c
Implement bdrv_detach_aio_context & bdrv_attach_aio_context (should fix migration with iothread)
2026-06-17 00:39:28 +03:00
Vitaliy Filippov
e9d053e30f
Support --io option for vitastor-disk dump-journal/write-journal
2026-06-17 00:39:28 +03:00
Vitaliy Filippov
1be51f903c
Check entry sizes in blockstore_heap during loading
2026-06-16 20:34:52 +03:00
Vitaliy Filippov
cd51f14a90
Fix incorrect chained_read bitmap recovery
2026-06-15 21:10:44 +03:00
Vitaliy Filippov
9b8107875f
Add a regression test for incorrect chained_read bitmap recovery
2026-06-15 21:10:44 +03:00
Vitaliy Filippov
ca606570f7
Add request size validation
2026-06-15 01:56:54 +03:00
Vitaliy Filippov
22d094ccc6
Add a regression test to check that parity-less EC writes do not destroy bitmaps
2026-06-15 01:56:54 +03:00
Vitaliy Filippov
fd84d84279
Add a regression test for scrub bitmap comparison (EC 3+3, only chunk 1 written and lost)
2026-06-15 01:52:04 +03:00
Vitaliy Filippov
af2b1e28e3
Add a regression test for EC bitmap recovery losing a parity chunk
2026-06-15 01:52:04 +03:00
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