Commit Graph

33 Commits (3bfa2f5f39b2976b3f11e499ce1da3607acd8b7f)

Author SHA1 Message Date
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
Vitaliy Filippov 03335d3533 Blockstore: device opening 2019-10-31 13:49:46 +03:00