Commit Graph

48 Commits (test-submit-and-wait)

Author SHA1 Message Date
Vitaliy Filippov c9f3654905 Add ringloop.h to dependencies 2020-03-03 17:23:33 +03:00
Vitaliy Filippov 9d96e4bf0b Add simple "stub bench" using sync I/O 2020-03-01 23:00:46 +03:00
Vitaliy Filippov 2be4824a7a Fix a small memory leak and BS_OP_SYNC mishandling, now fio does not hang during primary-osd test 2020-02-28 01:46:39 +03:00
Vitaliy Filippov 74673c761f Make basic primary-write work 2020-02-25 02:55:58 +03:00
Vitaliy Filippov fe3c47812c Rename osd_exec_secondary to osd_secondary 2020-02-23 23:43:57 +03:00
Vitaliy Filippov d4fd9d982a Implement read-modify-write calculation and extract it into a separate file 2020-02-23 02:11:43 +03:00
Vitaliy Filippov a66b34e04d Implement event-driven PG peering 2020-02-11 13:41:34 +03:00
Vitaliy Filippov 327f310868 Remove copy-pasted read/write _blocking 2020-02-09 19:23:03 +03:00
Vitaliy Filippov 97d3fc593c Test and fix primary-read 2020-02-09 19:17:32 +03:00
Vitaliy Filippov 74d0196ba5 Stripe read reconstruction 2020-01-31 13:46:23 +03:00
Vitaliy Filippov 47663bd1dc Add (empty) osd_primary.cpp, rename osd_read to osd_receive, add FIXMEs for fsync 2020-01-28 22:40:50 +03:00
Vitaliy Filippov 2b09710d6f Implement blockstore rollback operation
Rollback operation is required for the primary OSD to kill unstable
object versions in OSD peers so they don't occupy journal space
2020-01-24 20:18:14 +03:00
Vitaliy Filippov 98efdb78bd Extract object state calculation to a separate file and slightly test it 2020-01-24 12:56:51 +03:00
Vitaliy Filippov 8c05ee252c Test object list sorting, begin peering code 2020-01-21 22:33:02 +03:00
Vitaliy Filippov 43f6cfeb73 Extract alignments to options 2020-01-16 00:54:25 +03:00
Vitaliy Filippov 8ea1ccc192 Add an OSD stub to compare sync socket I/O with io_uring + skip multiple fsyncs that fio issues 2020-01-15 22:04:58 +03:00
Vitaliy Filippov 5739b02de8 Add sparse read to ./blockstore_test, link blockstore to libblockstore.so 2020-01-12 19:59:19 +03:00
Vitaliy Filippov d35ce8ab3d Fix compile errors for newer gcc 2020-01-06 02:09:59 +03:00
Vitaliy Filippov b87092fcfe Split osd.cpp into multiple files 2019-12-28 01:25:55 +03:00
Vitaliy Filippov 3134b7729a Add PG structures, begin peer connection handling code 2019-12-27 12:05:44 +03:00
Vitaliy Filippov 8a386270bd Use json11, add show_config operation, begin primary operations 2019-12-23 21:56:03 +03:00
Vitaliy Filippov c7ae3c001c Add FIO engine for testing Blockstore through the Secondary OSD interface 2019-12-16 14:03:36 +03:00
Vitaliy Filippov e60e6978ac Extract object_id and obj_ver_id to separate header 2019-12-16 12:39:15 +03:00
Vitaliy Filippov a7e74670a5 Split blockstore implementation and interface header 2019-12-15 14:57:18 +03:00
Vitaliy Filippov f2e9749c93 Fix disconnection detection 2019-12-15 14:57:18 +03:00
Vitaliy Filippov 49f8011917 Add osd header and osd executable 2019-12-15 01:11:51 +03:00
Vitaliy Filippov d3c6314d01 Finish reply code, make it compile 2019-12-14 20:51:59 +03:00
Vitaliy Filippov 9fa0d3325f Support inmemory journal 2019-11-28 18:06:50 +03:00
Vitaliy Filippov ffff742078 Use tcmalloc 2019-11-27 11:26:47 +03:00
Vitaliy Filippov 9568354d78 Fix old_clean_loc treatment (cannot persist sparse_hash_map iterator) 2019-11-27 02:16:43 +03:00
Vitaliy Filippov 6ac1d5db08 Fix allocator bug 2019-11-27 01:12:25 +03:00
Vitaliy Filippov a8f250c68f fio engine starts now 2019-11-26 02:18:42 +03:00
Vitaliy Filippov a7dc759f74 Compile fio engine 2019-11-26 01:50:26 +03:00
Vitaliy Filippov 299b7288d5 Fix journal loading 2019-11-21 00:52:52 +03:00
Vitaliy Filippov eec1c35ea4 Begin to debug ... all of this stuff :) 2019-11-16 02:32:29 +03:00
Vitaliy Filippov 214da03735 Move flusher into a separate file 2019-11-13 17:46:05 +03:00
Vitaliy Filippov 71552adf79 Do not use deque, test cpp-btree 2019-11-11 19:42:18 +03:00
Vitaliy Filippov 8edb9e9d6f Remove duplicate journal writing code (and fix it at the same time) 2019-11-11 00:28:14 +03:00
Vitaliy Filippov 890335bff6 Begin implementation of the STABLE operation 2019-11-10 14:37:45 +03:00
Vitaliy Filippov 24f5d71595 Move handle_event code into _read.cpp, _write.cpp; move sync code into _sync.cpp 2019-11-10 02:27:27 +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 84c62840bd Begin write algorithm 2019-11-07 02:24:12 +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 351366d228 Add ring_loop 2019-11-05 02:12:04 +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
Vitaliy Filippov f4705d81d7 Split into multiple files, begin init_loop, adjust read 2019-11-03 02:30:11 +03:00
Vitaliy Filippov 03335d3533 Blockstore: device opening 2019-10-31 13:49:46 +03:00