Vitaliy Filippov
|
eaff4509ca
|
Complete small/intent writes explicitly, not implicitly on metadata block write
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
c8f5b6cb19
|
Fix submitting forced fsyncs in flusher
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
25ce82a729
|
Fix checksum flushing for the case of empty small writes, fix checksum calculation skipping during read
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
08f21edaf7
|
Fix enospc detection logic and test_enospc
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
e709657de4
|
Save completed_lsn in the superblock
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
1852caaeec
|
Implement even more simplified big_intent writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7b40561141
|
Fix GC and loading
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
852734270e
|
wip
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
1e5a01def8
|
Another experiment: store writes in mallocs
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
0a7ae616f3
|
Do not use pending_modified_blocks to check
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
5afef7ca6d
|
WIP Integrate LSMeta :-)
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7ab60c00ab
|
Use 32-bit big write location (OK for up to 512 TB OSDs)
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ac8e0ef231
|
Do not store offset & len in big_writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ef792608b0
|
Rename flags to entry_type
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
c148f97ee4
|
Fix checksum validation in !inmemory_journal mode
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bc48eb1ff8
|
Add missing request_trim
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
a1a449686a
|
Integrate moving objects
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
99bddb976a
|
Fix zero-length writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
4f997791b8
|
Fix op_stable slowdowns
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
dcbdb0ae33
|
Extract (flags & BS_HEAP_TYPE) into a function
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
556fc9a876
|
Remove cancel_all_writes
Not needed because a) parallel writes to the same object are forbidden
b) subsequent writes don't depend on previous ones anyway.
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
274f9ecda5
|
Add a test for "perfect_csum_update" mode
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
e0d2705294
|
Add 2 tests for intent writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
57d2f30303
|
Add a test with fsync
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
b0b495a991
|
unaligned_intent does not need special handling anymore
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
bcde273ca1
|
Test calc_checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
d4c465f786
|
Fix intent writes with padded checksums
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
8823ddf48e
|
Process big_writes as intents to avoid fsyncs
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
64db505357
|
Allow 1 intent_write over big_write in fsync mode
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
249e04ac0d
|
Add atomic_write_size parameter
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
adddf9b3b1
|
Remove extra unneeded read_entry-s
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
6a5044ae36
|
Do not recheck data location on intent-write
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
2e4d5ae5bb
|
Return new_lsn from erase and rollback
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
ec3bf4ae6c
|
Correctly track fsynced_lsn when fsyncs are enabled
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
0bc81f5320
|
Fix pending_ops
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
a9773b1908
|
Move "ack write" debug message
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
7915605609
|
Batch big_write data fsyncs
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
3ba3eed0cf
|
Use the same "inflight" queue to track compaction
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
5dc0b42146
|
Use new LSNs on stabilize
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
20bbeb4095
|
Prevent compaction of incomplete object writes
|
2025-12-02 01:52:12 +03:00 |
|
Vitaliy Filippov
|
3c687a2993
|
Experimental INTENT_WRITE write mode with WA=2 instead of 3
|
2025-12-02 01:52:12 +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
|
8ff2c268f7
|
Integrate "heap" metadata storage into blockstore
|
2025-12-02 01:52:11 +03:00 |
|
Vitaliy Filippov
|
5d3f3f47a7
|
Move all #defines to internal.h
|
2025-11-23 14:53:46 +03:00 |
|
Vitaliy Filippov
|
be1858848e
|
Remove block_order and replace << >> by / * data_block_size
|
2025-11-22 18:10:32 +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
|
918ea34af2
|
Remove "Only allow to overwrite part of the bitmap" blockstore API feature
|
2025-08-10 17:57:04 +03:00 |
|
Vitaliy Filippov
|
c79b38bd26
|
Move all sources to subdirs
|
2024-05-15 11:06:01 +03:00 |
|