Commit Graph

31 Commits (95b0395493a6cb839e2b343230bafd7243c1ec95)

Author SHA1 Message Date
Vitaliy Filippov ce5cd13bc8 Use fdatasync (just for testing over an FS) 2019-11-27 02:41:30 +03:00
Vitaliy Filippov ff7469ee91 Make allocator a class 2019-11-27 00:50:57 +03:00
Vitaliy Filippov a6770f619a Fix crash while reading metadata 2019-11-26 12:06:42 +03:00
Vitaliy Filippov 50cf3667fa Track unstable writes 2019-11-25 01:16:34 +03:00
Vitaliy Filippov 82a2b8e7d9 Fix some extra bugs and it seems now it is even able to trim the journal 2019-11-22 12:08:44 +03:00
Vitaliy Filippov 7e87290fca Clear second sector of the journal, init iov for callbacks 2019-11-21 22:06:00 +03:00
Vitaliy Filippov 201eeb8516 Rewrite metadata_init to the same "goto-coroutine" style 2019-11-21 21:51:52 +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 299b7288d5 Fix journal loading 2019-11-21 00:52:52 +03:00
Vitaliy Filippov eb55b2fe20 Initialize sector 0 of the journal 2019-11-19 20:03:19 +03:00
Vitaliy Filippov b5f04c58ff Rewrite journal_init to the "goto-coroutine" style 2019-11-19 19:50:58 +03:00
Vitaliy Filippov 8c690c76ec Wakeup ring loop 2019-11-18 14:08:11 +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 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 71194f014a Update dirty_db and clean_db after flushing an entry 2019-11-15 02:26:18 +03:00
Vitaliy Filippov 0627dd0f5e Used journal sector tracking 2019-11-15 02:04:19 +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 db66b3916e Begin metadata read-modify-write 2019-11-13 16:07:29 +03:00
Vitaliy Filippov ae77a228c7 Rename big_write.block to location 2019-11-12 20:58:27 +03:00
Vitaliy Filippov ff57dd420e Rename object_db to clean_db 2019-11-10 22:41:40 +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 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 e1c92d2227 Begin journal init reader 2019-11-04 01:42:53 +03:00
Vitaliy Filippov 9babacb00a Move init into a separate file 2019-11-03 22:04:30 +03:00