Vitaliy Filippov
|
21d0b06959
|
Implement flushing (stabilize/rollback) of unstable entries on start of the PG
|
2020-03-14 02:49:34 +03:00 |
Vitaliy Filippov
|
31f9445030
|
Use immediate_commit to benefit the primary OSD
|
2020-03-10 02:20:16 +03:00 |
Vitaliy Filippov
|
8315407558
|
Incoming data pre-buffering
|
2020-03-04 17:34:45 +03:00 |
Vitaliy Filippov
|
b27ad550cf
|
Use btree_map instead of sparsepp
|
2020-03-04 17:12:27 +03:00 |
Vitaliy Filippov
|
20125db181
|
Use clock_gettime()
|
2020-03-03 00:54:42 +03:00 |
Vitaliy Filippov
|
79839ec31d
|
Start sending immediately instead of waiting for another loop
|
2020-03-02 00:20:28 +03:00 |
Vitaliy Filippov
|
56765ab750
|
Send all iovecs at once
|
2020-02-29 02:27:19 +03:00 |
Vitaliy Filippov
|
fd05e13bc4
|
Use EPOLLET
Its latency is slightly better, too
|
2020-02-29 01:56:59 +03:00 |
Vitaliy Filippov
|
c41fd7ea18
|
Measure sending subops with data
|
2020-02-29 01:46:03 +03:00 |
Vitaliy Filippov
|
c6334afc94
|
Measure OSD op/subop latency
Something is wrong: loopback RTT between OSDs is sometimes as high as 70us (should be 20us or less probably)
|
2020-02-28 12:26:49 +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
|
a406c62a71
|
Implement basic primary-sync-stabilize
|
2020-02-25 20:10:21 +03:00 |
Vitaliy Filippov
|
74673c761f
|
Make basic primary-write work
|
2020-02-25 02:55:58 +03:00 |
Vitaliy Filippov
|
09588a349f
|
Transform primary_r/w into "coroutines"
|
2020-02-24 02:40:52 +03:00 |
Vitaliy Filippov
|
4c0178f180
|
Fix some memory freeing
|
2020-02-24 01:04:23 +03:00 |
Vitaliy Filippov
|
5dd04abbac
|
Make bs_op pointer
|
2020-02-23 23:46:00 +03:00 |
Vitaliy Filippov
|
88e56a564f
|
Rename osd_read_stripe_t to osd_rmw_stripe_t
|
2020-02-23 23:43:57 +03:00 |
Vitaliy Filippov
|
4a52a15564
|
Rename osd_op_t.op to req
|
2020-02-23 23:21:17 +03:00 |
Vitaliy Filippov
|
72a89be912
|
Move uint8_t[] buffers into any_op_t/any_reply_t
|
2020-02-23 23:21:17 +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
|
ffe073473a
|
Remove hardcode of the EC(2+1) scheme, now it supports EC(k+1), fix some bugs
|
2020-02-13 19:13:17 +03:00 |
Vitaliy Filippov
|
1100ad44bd
|
Cancel outbound operations when disconnecting a peer
|
2020-02-11 21:17:10 +03:00 |
Vitaliy Filippov
|
a66b34e04d
|
Implement event-driven PG peering
|
2020-02-11 13:41:34 +03:00 |
Vitaliy Filippov
|
97d3fc593c
|
Test and fix primary-read
|
2020-02-09 19:17:32 +03:00 |
Vitaliy Filippov
|
235d15422c
|
Mostly finish primary-OSD-read
|
2020-02-03 14:18:21 +03:00 |
Vitaliy Filippov
|
9fb2d3f840
|
Fill out the rest of the degraded read logic; now we need to make it a "coroutine"
|
2020-02-02 00:05:56 +03:00 |
Vitaliy Filippov
|
ec50957c41
|
WIP primary OSD read
|
2020-01-30 22:06:46 +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
|
98efdb78bd
|
Extract object state calculation to a separate file and slightly test it
|
2020-01-24 12:56:51 +03:00 |
Vitaliy Filippov
|
d2a3f0c6dd
|
Begin object state calculation
|
2020-01-23 22:05:27 +03:00 |
Vitaliy Filippov
|
a8bc44064d
|
Read object lists from peers and own blockstore
|
2020-01-22 02:36:14 +03:00 |
Vitaliy Filippov
|
8c05ee252c
|
Test object list sorting, begin peering code
|
2020-01-21 22:33:02 +03:00 |
Vitaliy Filippov
|
522a9db0e2
|
Enable TCP_NODELAY
|
2020-01-09 20:32:58 +03:00 |
Vitaliy Filippov
|
7dba43b3c6
|
Allow to exclude blockstore from OSD op processing for tests
|
2020-01-08 12:06:05 +03:00 |
Vitaliy Filippov
|
b6f0c1cde5
|
Async connection to peers
|
2020-01-04 01:23:25 +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
|
4de5290619
|
Implement safe(?) stop
|
2019-12-19 22:16:04 +03:00 |
Vitaliy Filippov
|
d3d21e6e0f
|
Rename OP_ to BS_OP_
|
2019-12-19 13:56:26 +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
|
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 |