57 Commits (eabfe4faac96bc01f22e68fd532257673347aeba)

Author SHA1 Message Date
Vitaliy Filippov eabfe4faac Test SQ poll threads. Unstable and in fact slower :( 2 years ago
Vitaliy Filippov 1733de2db6 Test & fix single-PG primary OSD 2 years ago
Vitaliy Filippov 74673c761f Make basic primary-write work 2 years ago
Vitaliy Filippov dcc9e75c63 Wait for write completion before fsync in blockstore_init 2 years ago
Vitaliy Filippov 47663bd1dc Add (empty) osd_primary.cpp, rename osd_read to osd_receive, add FIXMEs for fsync 2 years ago
Vitaliy Filippov 2b09710d6f Implement blockstore rollback operation 2 years ago
Vitaliy Filippov d0ab2a20b2 Make fsync flags separate for data, metadata and journal 2 years ago
Vitaliy Filippov 43f6cfeb73 Extract alignments to options 2 years ago
Vitaliy Filippov 36d8c8724f Fix sparse reads using bitmap, fix journal replay (we could sometimes lose its end) 2 years ago
Vitaliy Filippov cf819eb442 Implement sparse block bitmap to avoid zero-fill 2 years ago
Vitaliy Filippov bf3eecc159 Extract 512 to constants 2 years ago
Vitaliy Filippov a7e74670a5 Split blockstore implementation and interface header 2 years ago
Vitaliy Filippov 76caecf7c7 Inmemory metadata mode 2 years ago
Vitaliy Filippov f4d06ba102 OP_DELETE flushing 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 2039df76a5 Fix journal reading and make it more similar to writing :) 2 years ago
Vitaliy Filippov 40781c67b2 Trim journal on start 2 years ago
Vitaliy Filippov 45f34fb3b2 Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal 2 years ago
Vitaliy Filippov b6fff5a77e Fix metadata area size calculation, print free space, wait for free space 2 years ago
Vitaliy Filippov 9fa0d3325f Support inmemory journal 2 years ago
Vitaliy Filippov e1ac4dba23 Fix safe stop procedure 2 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 2 years ago
Vitaliy Filippov 2630e2e3b9 Fix metadata partition length, fix journal allocation at the end 2 years ago
Vitaliy Filippov 876231d26b no new 2 years ago
Vitaliy Filippov ce5cd13bc8 Use fdatasync (just for testing over an FS) 2 years ago
Vitaliy Filippov ff7469ee91 Make allocator a class 2 years ago
Vitaliy Filippov a6770f619a Fix crash while reading metadata 2 years ago
Vitaliy Filippov 50cf3667fa Track unstable writes 2 years ago
Vitaliy Filippov 82a2b8e7d9 Fix some extra bugs and it seems now it is even able to trim the journal 2 years ago
Vitaliy Filippov 7e87290fca Clear second sector of the journal, init iov for callbacks 2 years ago
Vitaliy Filippov 201eeb8516 Rewrite metadata_init to the same "goto-coroutine" style 2 years ago
Vitaliy Filippov 2b12428cb1 Debug OP_STABLE so the basic case passes without problem 2 years ago
Vitaliy Filippov 299b7288d5 Fix journal loading 2 years ago
Vitaliy Filippov eb55b2fe20 Initialize sector 0 of the journal 2 years ago
Vitaliy Filippov b5f04c58ff Rewrite journal_init to the "goto-coroutine" style 2 years ago
Vitaliy Filippov 8c690c76ec Wakeup ring loop 2 years ago
Vitaliy Filippov e40a71b2ce Check result to be equal to iov_len 2 years ago
Vitaliy Filippov c2de733e35 Copy io_uring_prep_* to my_uring_prep_* so they do not clear user_data 2 years ago
Vitaliy Filippov eec1c35ea4 Begin to debug ... all of this stuff :) 2 years ago
Vitaliy Filippov a4aaa3c7c7 First implementation of journal trimming 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 db66b3916e Begin metadata read-modify-write 2 years ago
Vitaliy Filippov ae77a228c7 Rename big_write.block to location 2 years ago
Vitaliy Filippov ff57dd420e Rename object_db to clean_db 2 years ago
Vitaliy Filippov 40890aeec5 Rename dirty_queue to dirty_db and make it a single std::map 2 years ago