Commit Graph

20 Commits (blocking-uring-test)

Author SHA1 Message Date
Vitaliy Filippov d4fd9d982a Implement read-modify-write calculation and extract it into a separate file 3 years ago
Vitaliy Filippov ffe073473a Remove hardcode of the EC(2+1) scheme, now it supports EC(k+1), fix some bugs 3 years ago
Vitaliy Filippov b7ccd63104 Return version number from reads 3 years ago
Vitaliy Filippov ec50957c41 WIP primary OSD read 3 years ago
Vitaliy Filippov 1e286eed08 Wait for writes to complete before issuing an fsync in blockstore_sync 3 years ago
Vitaliy Filippov 2b09710d6f Implement blockstore rollback operation 3 years ago
Vitaliy Filippov 98efdb78bd Extract object state calculation to a separate file and slightly test it 3 years ago
Vitaliy Filippov 8c05ee252c Test object list sorting, begin peering code 3 years ago
Vitaliy Filippov d0ab2a20b2 Make fsync flags separate for data, metadata and journal 3 years ago
Vitaliy Filippov 43f6cfeb73 Extract alignments to options 3 years ago
Vitaliy Filippov a3d3949dce Do not overwrite same journal sector multiple times 3 years ago
Vitaliy Filippov cf819eb442 Implement sparse block bitmap to avoid zero-fill 3 years ago
Vitaliy Filippov 4b05bde3a2 Block writes earlier than sync/stabilize would be blocked, too 3 years ago
Vitaliy Filippov b3f2102f33 Add queue stall tracking 3 years ago
Vitaliy Filippov ba23824561 Allow to disable zero fill 3 years ago
Vitaliy Filippov bf3eecc159 Extract 512 to constants 3 years ago
Vitaliy Filippov e88ad3f2ff Implement object list operation in blockstore 3 years ago
Vitaliy Filippov 19abe6227e Fix submission ring overflow & ring_data_t reuse conflicts 3 years ago
Vitaliy Filippov 71635f2327 Use std::hash<object_id> instead of oid_hash 3 years ago
Vitaliy Filippov a7e74670a5 Split blockstore implementation and interface header 3 years ago
Vitaliy Filippov 749ab6e2c6 Rename blockstore_operation to blockstore_op_t 3 years ago
Vitaliy Filippov a180b4961f Hide block_* fields 3 years ago
Vitaliy Filippov aaea3e1f99 Fix read_fulfill, use vector 3 years ago
Vitaliy Filippov aa3b252327 Fsync data before writing metadata 3 years ago
Vitaliy Filippov 76caecf7c7 Inmemory metadata mode 3 years ago
Vitaliy Filippov a7a0946ba8 WIP OP_DELETE 3 years ago
Vitaliy Filippov 00eeedae90 Add "fsync disabled" mode 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 b6fff5a77e Fix metadata area size calculation, print free space, wait for free space 3 years ago
Vitaliy Filippov cbf5173d1b Allow to specify device paths in fio options 3 years ago
Vitaliy Filippov 9ba243b3ee Add debug prints 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 a7dc759f74 Compile fio engine 3 years ago
Vitaliy Filippov be3015169f Safe stop procedure 3 years ago
Vitaliy Filippov 50cf3667fa Track unstable writes 3 years ago
Vitaliy Filippov 2b12428cb1 Debug OP_STABLE so the basic case passes without problem 3 years ago
Vitaliy Filippov 5b8df6768b Try to submit a test write operation 3 years ago
Vitaliy Filippov c7d9dc027b Remove extra states as they seem useless 3 years ago
Vitaliy Filippov c38c8ab029 Prevent two parallel flushes of the same object 3 years ago
Vitaliy Filippov 71194f014a Update dirty_db and clean_db after flushing an entry 3 years ago
Vitaliy Filippov 0627dd0f5e Used journal sector tracking 3 years ago
Vitaliy Filippov bc549553e4 Rename dirty_entry.size to len, remove some unneeded methods and fields, read metadata correctly 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 75398414d1 Add grouping flusher class 3 years ago
Vitaliy Filippov db66b3916e Begin metadata read-modify-write 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