50 Commits (f2e9749c9340ceffe036890be485ec0a2ac128ed)

Author SHA1 Message Date
Vitaliy Filippov 02a0eb49c2 Begin reply code 3 years ago
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) 3 years ago
Vitaliy Filippov 76caecf7c7 Inmemory metadata mode 3 years ago
Vitaliy Filippov 14b2f49f4d FIXME 3 years ago
Vitaliy Filippov 76655929c4 Add readonly flag 3 years ago
Vitaliy Filippov 9260cd263a Verify data crc32 when reading journal 3 years ago
Vitaliy Filippov 40781c67b2 Trim journal on start 3 years ago
Vitaliy Filippov b6fff5a77e Fix metadata area size calculation, print free space, wait for free space 3 years ago
Vitaliy Filippov 9fa0d3325f Support inmemory journal 3 years ago
Vitaliy Filippov e1ac4dba23 Fix safe stop procedure 3 years ago
Vitaliy Filippov cbf5173d1b Allow to specify device paths in fio options 3 years ago
Vitaliy Filippov 35a6ed728d Fix another stall due to bad unstable_writes tracking, do not try to write beyond the end of the journal 3 years ago
Vitaliy Filippov e2b91968c5 Fix sync confirmations and some pipeline-stall bugs 3 years ago
Vitaliy Filippov ff7469ee91 Make allocator a class 3 years ago
Vitaliy Filippov b8e53f8c67 Fix op validation, fix journal sector usage tracking 3 years ago
Vitaliy Filippov be3015169f Safe stop procedure 3 years ago
Vitaliy Filippov 2b12428cb1 Debug OP_STABLE so the basic case passes without problem 3 years ago
Vitaliy Filippov 3bfa2f5f39 Fix io_uring submission, journal sector selection 3 years ago
Vitaliy Filippov 8c690c76ec Wakeup ring loop 3 years ago
Vitaliy Filippov 5b8df6768b Try to submit a test write operation 3 years ago
Vitaliy Filippov debaf6c943 Print init messages 3 years ago
Vitaliy Filippov eec1c35ea4 Begin to debug ... all of this stuff :) 3 years ago
Vitaliy Filippov a4aaa3c7c7 First implementation of journal trimming 3 years ago
Vitaliy Filippov 1c6b9778a4 Handle all io_uring events using lambdas 3 years ago
Vitaliy Filippov 214da03735 Move flusher into a separate file 3 years ago
Vitaliy Filippov bb55a7fbf4 Zero-fill new objects and write them to the main storage 3 years ago
Vitaliy Filippov 4afa95b0e3 FSM is a dreadful unreadable thing, reimplement using gotos 3 years ago
Vitaliy Filippov e807d7433e Add stop method stub 3 years ago
Vitaliy Filippov 46e96c5128 Remove duplicate journal buffer submission code 3 years ago
Vitaliy Filippov 890335bff6 Begin implementation of the STABLE operation 3 years ago
Vitaliy Filippov 64185f7a1f Move enqueue_write to _write.cpp 3 years ago
Vitaliy Filippov e5caffb6ac Allow to read specific versions 3 years ago
Vitaliy Filippov ae56fe1067 Finish sync algorithm in theory 3 years ago
Vitaliy Filippov 24f5d71595 Move handle_event code into _read.cpp, _write.cpp; move sync code into _sync.cpp 3 years ago
Vitaliy Filippov 8e634d5b74 Continue sync implementation 3 years ago
Vitaliy Filippov 7456f0f7e2 Remove duplicate code 3 years ago
Vitaliy Filippov 153de65ce7 Begin sync implementation 3 years ago
Vitaliy Filippov 90f081f398 Check for op->wait_for conditions 3 years ago
Vitaliy Filippov a5f2d8b85e Ack writes 3 years ago
Vitaliy Filippov 40890aeec5 Rename dirty_queue to dirty_db and make it a single std::map 3 years ago
Vitaliy Filippov 5330461029 Move blockstore journal fields to journal_t, implement multiple write buffers for journal sectors 3 years ago
Vitaliy Filippov 84c62840bd Begin write algorithm 3 years ago
Vitaliy Filippov 2f18a3d19e Begin implementation of enqueue/dequeue 3 years ago
Vitaliy Filippov 3f5ad16748 Fix ringloop, implement first version of handle_event for reads 3 years ago
Vitaliy Filippov 82cf0a170e Port everything to ring_loop 3 years ago
Vitaliy Filippov 351366d228 Add ring_loop 3 years ago
Vitaliy Filippov 9babacb00a Move init into a separate file 3 years ago
Vitaliy Filippov f4705d81d7 Split into multiple files, begin init_loop, adjust read 3 years ago
Vitaliy Filippov db3b810588 journal structures + read fulfill 3 years ago
Vitaliy Filippov 03335d3533 Blockstore: device opening 3 years ago