56 Commits (a7a0946ba85a07a3fca2ba1f07fb6a5fb3456915)

Author SHA1 Message Date
Vitaliy Filippov a7a0946ba8 WIP OP_DELETE 2 years ago
Vitaliy Filippov 00eeedae90 Add "fsync disabled" mode 2 years ago
Vitaliy Filippov 76655929c4 Add readonly flag 2 years ago
Vitaliy Filippov 9260cd263a Verify data crc32 when reading journal 2 years ago
Vitaliy Filippov b6fff5a77e Fix metadata area size calculation, print free space, wait for free space 2 years ago
Vitaliy Filippov cbf5173d1b Allow to specify device paths in fio options 2 years ago
Vitaliy Filippov 9ba243b3ee Add debug prints 2 years ago
Vitaliy Filippov e2b91968c5 Fix sync confirmations and some pipeline-stall bugs 2 years ago
Vitaliy Filippov ff7469ee91 Make allocator a class 2 years ago
Vitaliy Filippov a7dc759f74 Compile fio engine 2 years ago
Vitaliy Filippov be3015169f Safe stop procedure 2 years ago
Vitaliy Filippov 50cf3667fa Track unstable writes 2 years ago
Vitaliy Filippov 2b12428cb1 Debug OP_STABLE so the basic case passes without problem 2 years ago
Vitaliy Filippov 5b8df6768b Try to submit a test write operation 2 years ago
Vitaliy Filippov c7d9dc027b Remove extra states as they seem useless 2 years ago
Vitaliy Filippov c38c8ab029 Prevent two parallel flushes of the same object 2 years ago
Vitaliy Filippov 71194f014a Update dirty_db and clean_db after flushing an entry 2 years ago
Vitaliy Filippov 0627dd0f5e Used journal sector tracking 2 years ago
Vitaliy Filippov bc549553e4 Rename dirty_entry.size to len, remove some unneeded methods and fields, read metadata correctly 2 years ago
Vitaliy Filippov 1c6b9778a4 Handle all io_uring events using lambdas 2 years ago
Vitaliy Filippov 214da03735 Move flusher into a separate file 2 years ago
Vitaliy Filippov 75398414d1 Add grouping flusher class 2 years ago
Vitaliy Filippov db66b3916e Begin metadata read-modify-write 2 years ago
Vitaliy Filippov bb55a7fbf4 Zero-fill new objects and write them to the main storage 2 years ago
Vitaliy Filippov 4afa95b0e3 FSM is a dreadful unreadable thing, reimplement using gotos 2 years ago
Vitaliy Filippov 34451b6e44 Try to implement journal flusher as a FSM 2 years ago
Vitaliy Filippov f892104aed Begin journal flusher 2 years ago
Vitaliy Filippov e807d7433e Add stop method stub 2 years ago
Vitaliy Filippov 71552adf79 Do not use deque, test cpp-btree 2 years ago
Vitaliy Filippov 46e96c5128 Remove duplicate journal buffer submission code 2 years ago
Vitaliy Filippov 1f04db7d68 Begin to implement stabilize as a batch operation 2 years ago
Vitaliy Filippov d2d8d6e7fb Comments about stabilize operation, track unsynced_writes correctly 2 years ago
Vitaliy Filippov 8edb9e9d6f Remove duplicate journal writing code (and fix it at the same time) 2 years ago
Vitaliy Filippov ff57dd420e Rename object_db to clean_db 2 years ago
Vitaliy Filippov 890335bff6 Begin implementation of the STABLE operation 2 years ago
Vitaliy Filippov 7aabe11ef9 Switch object states after sync 2 years ago
Vitaliy Filippov 64185f7a1f Move enqueue_write to _write.cpp 2 years ago
Vitaliy Filippov e5caffb6ac Allow to read specific versions 2 years ago
Vitaliy Filippov 2d0334f9b9 Remove in_progress_ops 2 years ago
Vitaliy Filippov ae56fe1067 Finish sync algorithm in theory 2 years ago
Vitaliy Filippov 24f5d71595 Move handle_event code into _read.cpp, _write.cpp; move sync code into _sync.cpp 2 years ago
Vitaliy Filippov 8e634d5b74 Continue sync implementation 2 years ago
Vitaliy Filippov 7456f0f7e2 Remove duplicate code 2 years ago
Vitaliy Filippov 153de65ce7 Begin sync implementation 2 years ago
Vitaliy Filippov a5f2d8b85e Ack writes 2 years ago
Vitaliy Filippov 40890aeec5 Rename dirty_queue to dirty_db and make it a single std::map 2 years ago
Vitaliy Filippov 5330461029 Move blockstore journal fields to journal_t, implement multiple write buffers for journal sectors 2 years ago
Vitaliy Filippov 84c62840bd Begin write algorithm 2 years ago
Vitaliy Filippov 2f18a3d19e Begin implementation of enqueue/dequeue 2 years ago
Vitaliy Filippov 3f5ad16748 Fix ringloop, implement first version of handle_event for reads 2 years ago