Commit Graph

352 Commits (c414a90abc51cdd4a84aaad7f852397ae9f21eea)

Author SHA1 Message Date
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 4677ace4cc Allow zero-length overwrites 2019-12-21 19:04:36 +03:00
Vitaliy Filippov 4de5290619 Implement safe(?) stop 2019-12-19 22:16:04 +03:00
Vitaliy Filippov 5ebc110d35 Implement LIST operation in the OSD 2019-12-19 22:04:18 +03:00
Vitaliy Filippov e88ad3f2ff Implement object list operation in blockstore 2019-12-19 20:50:20 +03:00
Vitaliy Filippov e8f7905e08 Allow to set write/delete version explicitly 2019-12-19 19:17:54 +03:00
Vitaliy Filippov d3d21e6e0f Rename OP_ to BS_OP_ 2019-12-19 13:56:26 +03:00
Vitaliy Filippov 19abe6227e Fix submission ring overflow & ring_data_t reuse conflicts 2019-12-17 11:26:17 +03:00
Vitaliy Filippov 4fb0579b1b Change epoll polling
1) it is incorrect to call level-triggered epoll in a loop without reading everything
2) it fixes the FIXME
2019-12-17 01:56:46 +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 3061b8cf51 Add sync&stabilize test operation 2019-12-15 15:30:51 +03:00
Vitaliy Filippov 9af000e9de Init storage note 2019-12-15 15:11:26 +03:00
Vitaliy Filippov 71635f2327 Use std::hash<object_id> instead of oid_hash 2019-12-15 14:57:18 +03:00
Vitaliy Filippov a7e74670a5 Split blockstore implementation and interface header 2019-12-15 14:57:18 +03:00
Vitaliy Filippov 749ab6e2c6 Rename blockstore_operation to blockstore_op_t 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 02a0eb49c2 Begin reply code 2019-12-14 20:51:49 +03:00
Vitaliy Filippov e052959d7b Remove "packets" 2019-12-13 20:16:08 +03:00
Vitaliy Filippov f6eb4326b3 Begin op enqueueing into the blockstore 2019-12-13 20:12:31 +03:00
Vitaliy Filippov 283d03ef18 Fix "address already in use" in test example, begin client read loop 2019-12-13 14:05:15 +03:00
Vitaliy Filippov 6239f6748a io_uring recvmsg test 2019-12-13 00:02:48 +03:00
Vitaliy Filippov 00ee6b7961 Accept connections 2019-12-12 11:32:20 +03:00
Vitaliy Filippov a8deb7d88c Begin OSD 2019-12-11 14:18:19 +03:00
Vitaliy Filippov a68bf129c4 Begin OSD ops header 2019-12-10 12:07:24 +03:00
Vitaliy Filippov a180b4961f Hide block_* fields 2019-12-10 00:13:59 +03:00
Vitaliy Filippov aaea3e1f99 Fix read_fulfill, use vector 2019-12-03 12:09:30 +03:00
Vitaliy Filippov a2ed38fb6b Fix segfault 2019-12-03 02:27:25 +03:00
Vitaliy Filippov 1f7381e220 Do not use goto resume_0 due to some strange -O3 bug which leads to hangs (it seems it optimizes flush_queue.size() away) 2019-12-03 02:23:29 +03:00
Vitaliy Filippov fd13965b90 Force start when journal is full 2019-12-03 02:23:29 +03:00
Vitaliy Filippov 2963ad98ec Start to flush only when there are <sync_threshold> journal entries to flush 2019-12-03 00:20:13 +03:00
Vitaliy Filippov aa3b252327 Fsync data before writing metadata 2019-12-03 00:20:13 +03:00
Vitaliy Filippov a165909745 FIXME 2019-12-02 18:16:23 +03:00
Vitaliy Filippov d24860b51a Allow to specify blockstore block size in fio options 2019-12-02 15:50:55 +03:00
Vitaliy Filippov 76caecf7c7 Inmemory metadata mode 2019-12-02 15:42:42 +03:00
Vitaliy Filippov f4d06ba102 OP_DELETE flushing 2019-12-02 02:41:14 +03:00
Vitaliy Filippov a7a0946ba8 WIP OP_DELETE 2019-12-01 17:25:59 +03:00
Vitaliy Filippov 14b2f49f4d FIXME 2019-12-01 16:43:21 +03:00
Vitaliy Filippov 00eeedae90 Add "fsync disabled" mode 2019-12-01 16:41:07 +03:00
Vitaliy Filippov 76655929c4 Add readonly flag 2019-12-01 16:41:07 +03:00
Vitaliy Filippov 9260cd263a Verify data crc32 when reading journal 2019-11-30 23:32:10 +03:00
Vitaliy Filippov 2039df76a5 Fix journal reading and make it more similar to writing :) 2019-11-30 02:27:31 +03:00
Vitaliy Filippov 40781c67b2 Trim journal on start 2019-11-29 02:13:32 +03:00
Vitaliy Filippov 45f34fb3b2 Fix linear overwrite, make metadata writes ordered, ignore older entries when recovering journal 2019-11-28 22:36:38 +03:00
Vitaliy Filippov b6fff5a77e Fix metadata area size calculation, print free space, wait for free space
FIXME: Now it crashes with -ENOSPC on linear overwrite
2019-11-28 20:23:27 +03:00
Vitaliy Filippov 9fa0d3325f Support inmemory journal 2019-11-28 18:06:50 +03:00