Vitaliy Filippov
f504e356d5
Fix schedule_next_recheck_at
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
1fd2819724
Fix marking only first OSD from non-majority group as corrupted during scrub
...
Note: Could be tested with 5 replicas - 3 good and 2 corrupted if we had OSD unit tests
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
dcdabbc1ec
Fix vitastor-disk resize error return codes missed
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
9e507fd333
Fix typo in crc32_pad
...
Didn't affect anything though because it was only skipping < 4096 byte remainders
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
4b926e2223
Add a test for missing data device fsyncs
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
a5d9a6996a
Do not try to increment ref_count if recheck_state is null
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
0ee03e7172
Add reply == request opcode check (also just in case)
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
88b7d9afcd
Expect to receive bitmap only for successfull response
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
f78d7d4efc
Do not capture client pointer in ping lambda
2026-05-11 16:30:01 +03:00
Vitaliy Filippov
fdaf7c88ff
Fix RDMA send buffer wraparound - could only lead to slower sending but not to corruption because the bug was canceled by send_out_pos >= send_done_pos check
2026-05-11 16:28:03 +03:00
Vitaliy Filippov
2fb6eb0c30
Free scrub_cur_list.buf when turning on no_scrub (potential memory leak)
2026-05-11 16:15:48 +03:00
Vitaliy Filippov
36d2b56208
Deep copy merged_history, also just in case
2026-05-11 16:14:03 +03:00
Vitaliy Filippov
14b22f2ba9
Retry even fatal errors for OP_SYNC (no real-world issue, just in case)
2026-05-11 16:08:14 +03:00
Vitaliy Filippov
fe8b1fe0cc
Add assert in cluster_client writeback to prevent overflow when incorrect operation data is passed
2026-05-11 16:06:19 +03:00
Vitaliy Filippov
1ec963e468
Fix ec_find_good for misplaced objects with extra corrupted chunks
2026-05-11 15:57:21 +03:00
Vitaliy Filippov
5100f822d8
Wrap all submit_primary_xxx_subops waits with if (n_subops) > 0
2026-05-11 15:17:50 +03:00
Vitaliy Filippov
7432494e88
Remove _LARGEFILE64_SOURCE warnings
2026-05-11 14:59:20 +03:00
Vitaliy Filippov
d0c0f3ea39
Do not ignore cur_primary change on PG state validation errors
2026-05-11 14:59:20 +03:00
Vitaliy Filippov
f61190f31d
Fix send_list/outbox desync on failed SEC_READ_BMP (possible memory leak)
2026-05-11 14:59:11 +03:00
Vitaliy Filippov
3dc0ab5c33
Clear inconsistent_objects on repeer
2026-05-11 14:59:08 +03:00
Vitaliy Filippov
de96efed2f
Fix 2^(64-PG_EPOCH_BITS) - 1 check
2026-05-11 14:59:08 +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
a8e821b13b
Mark OSDs as dirty during deletes more correctly
2026-05-11 12:56:23 +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
b8eaaabfe4
Add raw-ls command for troubleshooting
2026-05-10 17:00:36 +03:00
Vitaliy Filippov
e4d80c415e
Always check pool resharding state also for stabilize/rollback
2026-05-10 13:22:02 +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
041185c673
Release 3.0.11
...
A single hotfix:
- Fix missing error handling in EC snapshot/cloned image reads potentially
leading to corrupted reads during OSD/PG restarts
v3.0.11
2026-05-09 18:49:36 +03:00
Vitaliy Filippov
b03ac80a57
Fix missing error handling in chained read sec_read_bmp handling
2026-05-07 15:01:49 +03:00
Vitaliy Filippov
2ba56074f9
Run copy_part_bitmaps only after all subops succeed (slightly more correct)
2026-05-07 15:01:40 +03:00
Vitaliy Filippov
4acfe149cb
Release 3.0.10
...
Important bug fixes (new store):
- Fix OSDs possibly refusing to start with "write metadata failed at offset xxx: Invalid argument"
(fix buffer alignment during initial garbage collection)
- Rollback change from 3.0.4 - on-disk garbage entries are not skipped on start again. This change
doesn't have any impact normally, but OSDs originally running 3.0.0-3.0.2 and then upgraded
to 3.0.9 may hit a bug where 3.0.9 refuses to start due to entries marked as garbage too
early and flushed to disk in 3.0.0-3.0.2.
Other changes:
- Auto-select the only RDMA device/port if there is only one
- Rollback one 3.0.9 change - there was no actual use-after-free :)
(the problem was only relevant to an unstable development version)
- Fix `vitastor-nfs --trace` option
- Fix an unintended 1 second sleep in vitastor-cli rm-data
- Fix inode statistics not being cleared for a deleted pool
- Fix print to stdout in client
v3.0.10
2026-04-27 13:53:48 +03:00
Vitaliy Filippov
008ed5b269
Rollback 25ecca7625 - there was no actual use-after-free :)
2026-04-22 01:35:38 +03:00
Vitaliy Filippov
4fffe0f032
Fix vitastor-nfs trace option
2026-04-20 21:51:47 +03:00
Vitaliy Filippov
a76d5ccc0d
Wakeup callers in rm-data
2026-04-17 13:53:32 +03:00
Vitaliy Filippov
8ed1e180e0
Clear inode_stats in mon
2026-04-14 02:44:46 +03:00
Vitaliy Filippov
8832fc3b14
Fix print to stdout in client
2026-04-14 02:43:50 +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
bcc6419760
Auto-select the only RDMA device/port if there is only one
2026-04-08 15:46:10 +03:00
Vitaliy Filippov
dd5941b9a4
Release 3.0.9
...
- Fix broken garbage collection in the new store leading to very high memory usage
- Make the new store do full garbage collection on OSD startup by default (can be turned off with a new gc_on_start parameter)
- Make startup logging with the new store more informative, allow to log amount of garbage with log_level > 1
- Fix clients reading from snapshots incorrectly on retries (for example when OSDs were restarted during read)
- Fix a possible "send-after-free" in OSD which could probably also affect snapshot reads
- Fix OSD crashing when handling a read_bitmap operation from a deleted object with the new store
v3.0.9
2026-04-04 18:38:40 +03:00
Vitaliy Filippov
4005b88865
Do not use node_type
2026-04-04 17:37:47 +03:00
Vitaliy Filippov
280b5cd675
Add gc_on_start docs
2026-04-04 17:19:32 +03:00
Vitaliy Filippov
e5c505eaf4
Write 1 entry to blocks to collect garbage
2026-04-03 18:08:12 +00:00