Vitaliy Filippov
|
749ab6e2c6
|
Rename blockstore_operation to blockstore_op_t
|
2019-12-15 14:57:18 +03:00 |
Vitaliy Filippov
|
02a0eb49c2
|
Begin reply code
|
2019-12-14 20:51:49 +03:00 |
Vitaliy Filippov
|
1f7381e220
|
Do not use goto resume_0 due to some strange -O3 bug which leads to hangs (it seems it optimizes flush_queue.size() away)
|
2019-12-03 02:23:29 +03:00 |
Vitaliy Filippov
|
76caecf7c7
|
Inmemory metadata mode
|
2019-12-02 15:42:42 +03:00 |
Vitaliy Filippov
|
14b2f49f4d
|
FIXME
|
2019-12-01 16:43:21 +03:00 |
Vitaliy Filippov
|
76655929c4
|
Add readonly flag
|
2019-12-01 16:41:07 +03:00 |
Vitaliy Filippov
|
9260cd263a
|
Verify data crc32 when reading journal
|
2019-11-30 23:32:10 +03:00 |
Vitaliy Filippov
|
40781c67b2
|
Trim journal on start
|
2019-11-29 02:13:32 +03:00 |
Vitaliy Filippov
|
b6fff5a77e
|
Fix metadata area size calculation, print free space, wait for free space
FIXME: Now it crashes with -ENOSPC on linear overwrite
|
2019-11-28 20:23:27 +03:00 |
Vitaliy Filippov
|
9fa0d3325f
|
Support inmemory journal
|
2019-11-28 18:06:50 +03:00 |
Vitaliy Filippov
|
e1ac4dba23
|
Fix safe stop procedure
|
2019-11-28 02:27:17 +03:00 |
Vitaliy Filippov
|
cbf5173d1b
|
Allow to specify device paths in fio options
|
2019-11-28 00:50:52 +03:00 |
Vitaliy Filippov
|
35a6ed728d
|
Fix another stall due to bad unstable_writes tracking, do not try to write beyond the end of the journal
|
2019-11-28 00:28:08 +03:00 |
Vitaliy Filippov
|
e2b91968c5
|
Fix sync confirmations and some pipeline-stall bugs
|
2019-11-27 18:07:38 +03:00 |
Vitaliy Filippov
|
ff7469ee91
|
Make allocator a class
|
2019-11-27 00:50:57 +03:00 |
Vitaliy Filippov
|
b8e53f8c67
|
Fix op validation, fix journal sector usage tracking
Now it runs for a while with fio but then crashes with ENOSPC because
of an apparent bug in the allocator
|
2019-11-26 20:38:25 +03:00 |
Vitaliy Filippov
|
be3015169f
|
Safe stop procedure
|
2019-11-25 01:29:07 +03:00 |
Vitaliy Filippov
|
2b12428cb1
|
Debug OP_STABLE so the basic case passes without problem
|
2019-11-21 02:09:18 +03:00 |
Vitaliy Filippov
|
3bfa2f5f39
|
Fix io_uring submission, journal sector selection
|
2019-11-19 18:07:40 +03:00 |
Vitaliy Filippov
|
8c690c76ec
|
Wakeup ring loop
|
2019-11-18 14:08:11 +03:00 |
Vitaliy Filippov
|
5b8df6768b
|
Try to submit a test write operation
|
2019-11-18 02:36:53 +03:00 |
Vitaliy Filippov
|
debaf6c943
|
Print init messages
|
2019-11-18 02:09:34 +03:00 |
Vitaliy Filippov
|
eec1c35ea4
|
Begin to debug ... all of this stuff :)
|
2019-11-16 02:32:29 +03:00 |
Vitaliy Filippov
|
a4aaa3c7c7
|
First implementation of journal trimming
In theory it's possible to start testing blockstore at this point!
|
2019-11-15 16:12:55 +03:00 |
Vitaliy Filippov
|
1c6b9778a4
|
Handle all io_uring events using lambdas
|
2019-11-13 22:46:42 +03:00 |
Vitaliy Filippov
|
214da03735
|
Move flusher into a separate file
|
2019-11-13 17:46:05 +03:00 |
Vitaliy Filippov
|
bb55a7fbf4
|
Zero-fill new objects and write them to the main storage
|
2019-11-12 20:49:57 +03:00 |
Vitaliy Filippov
|
4afa95b0e3
|
FSM is a dreadful unreadable thing, reimplement using gotos
|
2019-11-12 18:16:41 +03:00 |
Vitaliy Filippov
|
e807d7433e
|
Add stop method stub
|
2019-11-11 21:22:28 +03:00 |
Vitaliy Filippov
|
46e96c5128
|
Remove duplicate journal buffer submission code
|
2019-11-11 18:38:57 +03:00 |
Vitaliy Filippov
|
890335bff6
|
Begin implementation of the STABLE operation
|
2019-11-10 14:37:45 +03:00 |
Vitaliy Filippov
|
64185f7a1f
|
Move enqueue_write to _write.cpp
|
2019-11-10 13:27:59 +03:00 |
Vitaliy Filippov
|
e5caffb6ac
|
Allow to read specific versions
|
2019-11-10 13:26:56 +03:00 |
Vitaliy Filippov
|
ae56fe1067
|
Finish sync algorithm in theory
|
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
|
8e634d5b74
|
Continue sync implementation
|
2019-11-09 02:16:44 +03:00 |
Vitaliy Filippov
|
7456f0f7e2
|
Remove duplicate code
|
2019-11-08 19:54:57 +03:00 |
Vitaliy Filippov
|
153de65ce7
|
Begin sync implementation
|
2019-11-08 19:54:45 +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
|
9babacb00a
|
Move init into a separate file
|
2019-11-03 22:04:30 +03:00 |
Vitaliy Filippov
|
f4705d81d7
|
Split into multiple files, begin init_loop, adjust read
|
2019-11-03 02:30:11 +03:00 |
Vitaliy Filippov
|
db3b810588
|
journal structures + read fulfill
|
2019-11-01 02:47:57 +03:00 |