Vitaliy Filippov
|
0e177c7a2a
|
Fix possible leak in blockstore_read
|
2020-02-21 19:38:43 +03:00 |
Vitaliy Filippov
|
b7ccd63104
|
Return version number from reads
|
2020-02-12 12:30:50 +03:00 |
Vitaliy Filippov
|
43f6cfeb73
|
Extract alignments to options
|
2020-01-16 00:54:25 +03:00 |
Vitaliy Filippov
|
36d8c8724f
|
Fix sparse reads using bitmap, fix journal replay (we could sometimes lose its end)
|
2020-01-12 23:38:33 +03:00 |
Vitaliy Filippov
|
cf819eb442
|
Implement sparse block bitmap to avoid zero-fill
|
2020-01-12 02:55:32 +03:00 |
Vitaliy Filippov
|
b3f2102f33
|
Add queue stall tracking
|
2020-01-10 01:23:46 +03:00 |
Vitaliy Filippov
|
4677ace4cc
|
Allow zero-length overwrites
|
2019-12-21 19:04:36 +03:00 |
Vitaliy Filippov
|
a7e74670a5
|
Split blockstore implementation and interface header
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
749ab6e2c6
|
Rename blockstore_operation to blockstore_op_t
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
aaea3e1f99
|
Fix read_fulfill, use vector
|
2019-12-03 12:09:30 +03:00 |
Vitaliy Filippov
|
a2ed38fb6b
|
Fix segfault
|
2019-12-03 02:27:25 +03:00 |
Vitaliy Filippov
|
9fa0d3325f
|
Support inmemory journal
|
2019-11-28 18:06:50 +03:00 |
Vitaliy Filippov
|
a7dc759f74
|
Compile fio engine
|
2019-11-26 01:50:26 +03:00 |
Vitaliy Filippov
|
50cf3667fa
|
Track unstable writes
|
2019-11-25 01:16:34 +03:00 |
Vitaliy Filippov
|
e40a71b2ce
|
Check result to be equal to iov_len
|
2019-11-18 02:09:34 +03:00 |
Vitaliy Filippov
|
c2de733e35
|
Copy io_uring_prep_* to my_uring_prep_* so they do not clear user_data
|
2019-11-17 21:39:30 +03:00 |
Vitaliy Filippov
|
c7d9dc027b
|
Remove extra states as they seem useless
|
2019-11-15 14:02:37 +03:00 |
Vitaliy Filippov
|
bc549553e4
|
Rename dirty_entry.size to len, remove some unneeded methods and fields, read metadata correctly
|
2019-11-14 01:13:07 +03:00 |
Vitaliy Filippov
|
1c6b9778a4
|
Handle all io_uring events using lambdas
|
2019-11-13 22:46:42 +03:00 |
Vitaliy Filippov
|
f892104aed
|
Begin journal flusher
|
2019-11-12 12:02:11 +03:00 |
Vitaliy Filippov
|
d2d8d6e7fb
|
Comments about stabilize operation, track unsynced_writes correctly
|
2019-11-11 02:53:19 +03:00 |
Vitaliy Filippov
|
ff57dd420e
|
Rename object_db to clean_db
|
2019-11-10 22:41:40 +03:00 |
Vitaliy Filippov
|
69581e6d0c
|
Send STABLE entry to the journal
|
2019-11-10 22:41:40 +03:00 |
Vitaliy Filippov
|
e5caffb6ac
|
Allow to read specific versions
|
2019-11-10 13:26:56 +03:00 |
Vitaliy Filippov
|
2d0334f9b9
|
Remove in_progress_ops
|
2019-11-10 12:52:37 +03:00 |
Vitaliy Filippov
|
24f5d71595
|
Move handle_event code into _read.cpp, _write.cpp; move sync code into _sync.cpp
|
2019-11-10 02:27:27 +03:00 |
Vitaliy Filippov
|
7456f0f7e2
|
Remove duplicate code
|
2019-11-08 19:54:57 +03:00 |
Vitaliy Filippov
|
90f081f398
|
Check for op->wait_for conditions
It's almost identical to just re-submit... so maybe it was pointless
|
2019-11-08 12:08:25 +03:00 |
Vitaliy Filippov
|
a5f2d8b85e
|
Ack writes
|
2019-11-08 02:31:07 +03:00 |
Vitaliy Filippov
|
40890aeec5
|
Rename dirty_queue to dirty_db and make it a single std::map
|
2019-11-08 00:20:10 +03:00 |
Vitaliy Filippov
|
5330461029
|
Move blockstore journal fields to journal_t, implement multiple write buffers for journal sectors
|
2019-11-07 23:42:24 +03:00 |
Vitaliy Filippov
|
84c62840bd
|
Begin write algorithm
|
2019-11-07 02:24:12 +03:00 |
Vitaliy Filippov
|
2f18a3d19e
|
Begin implementation of enqueue/dequeue
|
2019-11-06 19:27:48 +03:00 |
Vitaliy Filippov
|
3f5ad16748
|
Fix ringloop, implement first version of handle_event for reads
|
2019-11-05 23:06:06 +03:00 |
Vitaliy Filippov
|
82cf0a170e
|
Port everything to ring_loop
|
2019-11-05 02:43:21 +03:00 |
Vitaliy Filippov
|
351366d228
|
Add ring_loop
|
2019-11-05 02:12:04 +03:00 |
Vitaliy Filippov
|
c959948c82
|
Finish journal reader
|
2019-11-04 20:18:52 +03:00 |
Vitaliy Filippov
|
f4705d81d7
|
Split into multiple files, begin init_loop, adjust read
|
2019-11-03 02:30:11 +03:00 |